0
我在幾個小時前拿起Clojure中,我試圖得到一個斐波那契函數工作- Clojure - 我運行這個斐波那契函數時出錯,有什麼不對?
下面是函數,我定義
(defn fib [x]
(if (or (= x 1) (= x 2))
((inc 0))
((+ (fib (- x 1)) (fib (- x 2))))
))
,我得到這個錯誤:java.lang.Long cannot be cast to clojure.lang.IFn user/fib (NO_SOURCE_FILE:3)
雖然據我所知,我幾乎不熟悉幾乎所有的語言結構,這似乎是正確的。任何想法有什麼不對?
謝謝!我認爲如果表格變成if(if(condition)(iftrue)(iffalse)) – Jeroko
@Jeroko Nope,在lisp中幾乎沒有任何表單包含在parans中包裝子表達式:)如果我已經提出了你的問題,請選中複選標記它如同封閉 – jozefg