Что делают символы Clojure при использовании в качестве функций?

При попытке решить проблему 4Clojure & quot;Универсальный вычислительный движок& Quot; включая повторную реализацию оценки, я случайно назвал что-то вроде этого:

(apply '/ '(16 8))

а не предназначено:

(apply / '(16 8))

Это имело запутанный побочный эффект возвращения8Это заставило меня думать, что я испортил свою математику.

Позже я поняла свою ошибку после некоторой отладки - мне не удалось оценить/ символ, прежде чем пытаться назвать его & # x2014; и так понял, чтоclojure.lang.Symbol должен реализоватьclojure.lang.IFn, Но что это за реализацияdo? Все, что я могу сделать, это вернутьсяnil с одним аргументом или вторым аргументом, если он задан.

Ответы на вопрос(1)

Ваш ответ на вопрос