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