【发布时间】:2009-04-18 07:20:44
【问题描述】:
以下会导致大'n'的堆栈溢出,我可以理解为什么。
def factorial(n)
(n > 1) ? (return (n * factorial(n - 1))) : (return 1)
end
为什么下面的也会导致溢出?
def factorial(n, k)
(n > 1) ? (return factorial(n - 1, lambda {|v| return k.call(v * n)})) : (return k.call(1))
end
【问题讨论】: