【发布时间】:2011-08-16 18:13:30
【问题描述】:
我正在研究 Clojure Koans,我正在研究递归 koans。
我不明白如何使用递归解决is-even?。练习部分将此函数定义为:
(defn is-even? [n]
(if (= n 0)
true
(__ (is-even? (dec n)))))
如果我不想使用递归,那么我会将其定义为 (defn is-even? [n] (= (mod n 2) 0)),但这与练习的要点相悖。
【问题讨论】:
-
如果你不开始求解
is-even?函数,而是从meditations块中的第一个Koan开始,这个Koan更容易理解。这有点令人困惑,但公案会慢慢建立起来,这就是您需要开始的地方。