以下将导致大型'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
溢出?或StackOverflow? – 2009-04-17 19:37:10
-1,属于用户发言权。 – 2009-04-17 19:42:17