SystemStackError
Rubyで無限に深いメソッド呼び出しをすると、SystemStackErrorになります。
def rubyco rubyco end rubyco
実行すると、次のようになります。
a.rb:2:in `rubyco': stack level too deep (SystemStackError) from a.rb:2:in `rubyco' from a.rb:4
ところで、二つのメソッドが互いに呼び合って無限に深い呼び出しになると、おもしろいコールスタック表示になります。
def rubyco hyuki end def hyuki rubyco end rubyco
実行すると、次のようになります。
a.rb:2:in `rubyco': stack level too deep (SystemStackError) from a.rb:5:in `hyuki' from a.rb:2:in `rubyco' from a.rb:5:in `hyuki' from a.rb:2:in `rubyco' from a.rb:5:in `hyuki' from a.rb:2:in `rubyco' from a.rb:5:in `hyuki' from a.rb:2:in `rubyco' ... 1357 levels... from a.rb:2:in `rubyco' from a.rb:5:in `hyuki' from a.rb:2:in `rubyco' from a.rb:7
途中のスタックを省略しているところがクールですね。