以下將導致大型'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