1

在 Clojure 中是否可以在let表单中定义递归函数,或者应该使用 aletfn来代替?例如,我可以使用以下方法let吗?

(defn blowStackExample []
  (letfn [(blowStack []
            (blowStack))]
    (blowStackExample))) 
4

1 回答 1

5

您可以通过在fn表单中​​命名匿名函数来做到这一点:

(defn blow-stack-example []
  (let [blow-stack (fn a [] (a))]
    (blow-stack)))

(blow-stack-example)
于 2013-06-24T16:14:59.190 回答