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

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

(apply '/ '(16 8))

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

(apply / '(16 8))

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

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

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

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