2013年10月11日金曜日

Rubyの制御文(begin, rescue, ensure, exit など)

Rubyの制御文(begin, rescue, ensure, exit など)がどのような動きがするのか知りたかったので、サンプルを作って確認してみました。

試したのはこんな感じ。

begin
  exit
  puts "0: never"
rescue SystemExit
  puts "1: rescue"
ensure
  puts "2: ensure"
end
puts "3: after begin block"

これをtest.rbとして保存し、動かすと結果はこんな感じです。

$ ruby test.rb
1: rescue
2: ensure
3: after begin block

exit すると、SystemExit が飛ぶ。。。という感じでしょうか。

ただし、end を抜けると次の命令文がある場合には処理が実行されるようです。

exit でいきなりプッツンするわけではないみたい。

覚えておこう。


Written with StackEdit.

  • この記事をシェアする

  • このエントリーをはてなブックマークに追加
  • このブログの更新をチェックする

  • follow us in feedly