以下会导致大’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