pau*_*doo 24 recursion lambda clojure
如何在Clojure中创建递归匿名函数,而不是尾递归?
以下显然不起作用,recur仅用于尾递归函数.我也不愿意拖入y-combinator ..
((fn [n] (if (= 1 n) 1 (* n (recur (dec n))))) 5)
Run Code Online (Sandbox Code Playgroud)
ama*_*loy 44
可以通过fn在arglist和arglist 之间指定函数来为函数指定引用它们的名称:
user> ((fn ! [n] (if (= 1 n) 1 (* n (! (dec n))))) 5)
120
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4005 次 |
| 最近记录: |