Tag: stack overflow

在递归例程中是否存在“堆栈级太深”错误的解决方法?

Ruby中的递归函数中是否存在Stack Overflow错误的解决方法? 比方说,我有这个块: 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忽略堆栈的大小,或者增加最大堆栈大小的方法?

耙子流产了! 堆栈级别太深

可能重复: Rails 3.0和Ruby 1.9.2rc:Rake命令返回’已初始化的常量’和堆栈级别太深的错误。 有任何想法吗 我在Windows Vista上使用Ruby版本1.9.1。 我正在使用任何rake命令获得rake中止错误。 这不会发生在我的所有app文件夹中。 它只发生在特定的应用程序文件夹中。 C:\rails_project\stunetwork>rake db:reset (in C:/rails_project/stunetwork) rake aborted! stack level too deep C:/Ruby191/lib/ruby/gems/1.9.1/gems/rake-0.8.7/lib/rake.rb:2383:in `raw_load_rak efile’ (See full trace by running task with –trace)