我試圖寫在Clojure的簡單的階乘函數,但我得到這個錯誤:的Clojure java.lang.Long中不能轉換到clojure.lang.IFn錯誤
java.lang.Long cannot be cast to clojure.lang.IFn
我知道這個錯誤通常是由於附加括號,但我不確定這種情況。
首先,我在LISP中編寫了函數,它的工作原理應該如此。 代碼:
(defun factorial (n)
(if (= n 1)
1
(* (factorial (1- n)) n)
)
)
(factorial 5)
然後我嘗試了用Clojure,它不工作。 的Clojure代碼:
(defn factorial [n]
(if (= n 1)
1
(* (factorial(n)) n)
)
)
(defn -main
[& args]
(println(factorial 5))
)
重新打開這個問題:重複的問題是關於一個完全不同的問題,在一個不同的錯誤實現的斐波納契函數。 – amalloy