Ruby中递归函数中的堆栈溢出错误是否有任何解决方法?
比如说,我有这个块:
def countUpTo(current, final)
puts current
return nil if current == final
countUpTo(current+1, final)
end
如果我打电话countUpTo(1, 10000)
,我会得到一个错误:stack level too deep (SystemStackError)
。
它似乎在 8187 处中断。我可以调用一些函数来告诉 Ruby 忽略堆栈的大小,或者增加最大堆栈大小的方法吗?