我究竟做错了什么?简单的递归几千次调用深度抛出一个StackOverflowError.
如果Clojure递归的限制如此之低,我该如何依赖它?
(defn fact[x]
(if (<= x 1) 1 (* x (fact (- x 1)) )))
user=> (fact 2)
2
user=> (fact 4)
24
user=> (fact 4000)
java.lang.StackOverflowError (NO_SOURCE_FILE:0)
Run Code Online (Sandbox Code Playgroud)