1
在Clojure中是否可以在let
表單中定義遞歸函數,或者是否應該使用letfn
?例如,我可以使用let
進行以下操作嗎?在表單中定義遞歸函數
(defn blowStackExample []
(letfn [(blowStack []
(blowStack))]
(blowStackExample)))
在Clojure中是否可以在let
表單中定義遞歸函數,或者是否應該使用letfn
?例如,我可以使用let
進行以下操作嗎?在表單中定義遞歸函數
(defn blowStackExample []
(letfn [(blowStack []
(blowStack))]
(blowStackExample)))
你能做到這一點的方式是通過命名fn
形式裏面的匿名函數:
(defn blow-stack-example []
(let [blow-stack (fn a [] (a))]
(blow-stack)))
(blow-stack-example)
的[Clojure中的非尾遞歸匿名函數(可能重複的http://計算器。 COM /問題/ 5626641 /非尾遞歸匿名函數合的Clojure) – amalloy