我在 Clojure 中运行我的程序时遇到问题。我几周前才开始学习 Clojure。所以我不知道调试 Clojure 程序的快速简便的方法。我的 func2 引发异常(adj(a b))
如下:
ClassCastException java.lang.Long 无法转换为 clojure.lang.IFn 用户/func2。
我不知道它有什么问题。有人可以指出我的编码问题吗?在func3中,我func2
递归调用,但它抛出:
ArityException 传递给的 args (0) 数量错误:PersistentVector clojure.lan g.AFn.throwArity (AFn.java:437)
func3有什么问题?谢谢你。
(defn adj [value1 value2]
(def result (+ (/ value1 2) (/ value2 2)))
(if (= (mod result 2) 1)
(+ result 1)
result
)
)
(defn func2 [list]
(let [[a b c d] list]
(inc d)
([(adj c a) (adj a b) (adj b c) d]))
)
(defn func3 [list]
(loop [v list r []]
(if(= (v 0) (v 1) (v 2))
(conj list r)
(func3(func2(list)))
))
)