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)))

La Clojureプラグイン(Clojureバージョン1.3.0)でIntelliJを使用しています。

4

1 に答える 1

1

(factorial 0)その関数定義で計算するには非常に長い時間がかかるに違いありません...

于 2012-05-15T08:47:53.963 に答える