Выполнение упражнений в книге fp-oo, и у меня возникли проблемы с ранним упражнением, чтобы добавить квадраты. Вот мой код:Что ожидает функция в этом коде clojure?
(defn square [n]
(* n n))
(defn add-squares [l]
(cond
(nil? l) 0
:else (+ (square (first (l))) (add-squares (rest (l))))))
Этот пример:
(add-squares '(2 2 2 2))
должен вернуть
16
, но не с этим исключением:
ClassCastException clojure.lang.PersistentList cannot be cast to clojure.lang.IFn user/add-squares (NO_SOURCE_FILE:4)
, который я предполагаю, что означает, что я пытаясь передать функцию где-то вместо список, который ожидался. Может кто-нибудь сказать мне, какая часть кода является виновником?
Спасибо, Джеймс
спасибо, извлекая эти круглые скобки вокруг л в вызове первой и остальных это сделал. –