如何在MoonScript中编写递归函数?

wen*_*can 1 recursion lua function moonscript

arguments.callee MoonScript 有类似JavaScript的东西吗?

Pau*_*nko 5

由于Moonscript函数被定义为local func; func = function() end,它们都是递归的.这将打印120:

recursive = (n) -> return n > 1 and n*recursive(n-1) or 1
print recursive 5
Run Code Online (Sandbox Code Playgroud)

据我所知,没有arguments.calee其他选择,但我还没有看到我需要它的情况.甚至Mozilla的文档也说"几乎没有任何情况下使用命名函数表达式无法实现相同的结果" arguments.callee.