这个阶乘函数我有这样的功能:这有什么错用Clojure
(defn ! [x]
(let [n x product 1]
(if (zero? n)
product
(recur (- n 1) (* product n)))))
,我得到了错误:java.lang.IllegalArgumentException: Mismatched argument count to recur, expected: 1 args, got: 2 (NO_SOURCE_FILE:33)
而是从其他SO问题,做工精细这种因子。为什么?
(defn fact [x]
(loop [n x f 1]
(if (= n 1)
f
(recur (dec n) (* f n)))))
替换为''let'循环“,那么你的”复发“会发现它。 – Thumbnail