Как написать рекурсивную функцию в MoonScript?
Есть ли что-то вроде arguments.callee
JavaScript для MoonScript?
1 ответ
Решение
Так как функции Moonscript определены как local func; func = function() end
все они рекурсивные. Это напечатает 120:
recursive = (n) -> return n > 1 and n*recursive(n-1) or 1
print recursive 5
Насколько я знаю, нет arguments.calee
альтернатива, но я не видел случаев, когда мне это тоже нужно. Даже документы Mozilla говорят, что "практически нет случаев, когда такой же результат не может быть достигнут с помощью выражений именованных функций" о arguments.callee
,