|
|
||
http://www.atdot.net/~ko1/diary/200610.html#d10 を見てENDとat_exitの違いが気になったので調べてみる。
3.times {|n| at_exit { puts "at_exit #{n}" 3.times {|m| at_exit { puts "at_exit #{n} at_exit #{m}" } } } END { puts "END #{n}" 3.times {|m| END { puts "END #{n} END #{m}" } } } }
実行結果:
ruby 1.8.2 (2005-04-11) [i386-linux] at_exit 2 at_exit 1 END 0 at_exit 0 at_exit 0 at_exit 2 at_exit 0 at_exit 1 at_exit 0 at_exit 0 END 0 END 0 at_exit 1 at_exit 2 at_exit 1 at_exit 1 at_exit 1 at_exit 0 at_exit 2 at_exit 2 at_exit 2 at_exit 1 at_exit 2 at_exit 0
他にはENDはメソッドの中では使えないとか。