0

我在 REPL 中定义了一个简单的阶乘函数:

(defn factorial [n]
  (loop [current n fact 1]
    (if
      (= current 1)
      fact
      (recur (dec current) (* current fact)))))

该功能工作正常。但是当我尝试使用 dotimes 循环多次调用该函数时,REPL 似乎停止工作。对于我输入的任何表达式,我都不会再得到任何结果,并且必须重新启动 REPL。

我循环:

(dotimes [x 10]
  (println "Factorial of " x " is " (factorial x)))

我将 IntelliJ 与 La Clojure 插件(Clojure 版本 1.3.0)一起使用。

4

1 回答 1

1

(factorial 0)我敢打赌,使用该函数定义进行计算需要很长时间......

于 2012-05-15T08:47:53.963 回答