Я пытаюсь изучить Clojure и застрял в буквальном синтаксисе функций. Я не могу понять, что такое буквальный эквивалент функции (defn fourteen [] 14)
.
(def fourteen (fn [] 14))
;; => #'user/fourteen
(fourteen)
;; => 14
(defn defn-fourteen [] 14)
;; => #'user/defn-fourteen
(defn-fourteen)
;; => 14
(def literal-14 #(14))
;; => #'user/literal-14
(literal-14)
;; ClassCastException java.lang.Long cannot be cast to clojure.lang.IFn user/literal-14 (form-init2956929406616221071.clj:1)
Я не думаю, что это дубликат сколько аргументы ожидает ли анонимная функция в clojure?, но, возможно, это так, и у меня просто нет опыта, чтобы распознать это.
Как или можно определить литерал-14, чтобы вызов (literal-14)
работал?