在stackoverflow上发布堆栈溢出问题.com,多有趣啊:-)
我运行了一些递归Ruby代码,得到了:"Stack level too deep (SystemStackError)"
(我很确定代码是有效的,我不是在一个无限的递归死亡螺旋中,但这不是重点.)
我的Ruby应用程序是否需要更改允许的堆栈深度/大小?
我不太明白这是否是Ruby中的一个限制,因为错误是"Stack level",这给我的印象是Ruby以某种方式计算堆栈的"levels",或者它只是意味着堆栈已满.
我试着在Vista和Ubuntu下运行这个程序,结果是一样的.
编辑:
编辑2:
tst.rb:8:in `p': stack level too deep (SystemStackError)
from tst.rb:8:in `bar'
from tst.rb:12:in `bar'
from tst.rb:19:in `foo'
from tst.rb:10:in `bar'
from tst.rb:19:in `foo'
from tst.rb:10:in `bar'
from tst.rb:19:in `foo'
from tst.rb:10:in `bar'
... 190 levels...
from tst.rb:19:in `foo'
from tst.rb:10:in `bar'
from tst.rb:19:in `foo'
from tst.rb:22
-安德烈亚斯