当在loop / recur构造上使用dotimes时,Clojure REPL在IntelliJ中崩溃

时间:2012-05-15 08:36:57

标签: clojure intellij-idea read-eval-print-loop

我在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版)。

1 个答案:

答案 0 :(得分:1)

我敢打赌用这个函数定义计算(factorial 0)需要很长时间...