以下の内容はhttps://unageanu.hatenablog.com/entry/20090530/1243682104より取得しました。


今日見つけたコード

なんだこのrescueと思ったら、

def foo
  # 処理
rescue LoadError # なんだこれ
end

メソッド定義の一部でした。こういう書き方もできるのかー。

def foo
  puts "start"
  raise "test"
  puts "end"
rescue
  puts "rescue"
ensure
  puts "ensure"
end

foo

実行結果です。

start
rescue
ensure

クラスやモジュールの定義でも使えます。

#クラス定義
class Hoge
  puts "class start"
  raise "test"
  puts "class end"
rescue
  puts "class rescue"
ensure
  puts "class ensure"
end

#モジュール定義
module Var
  puts "module start"
  raise "test"
  puts "module end"
rescue
  puts "module rescue"
ensure
  puts "module ensure"
end

実行結果です。

class start
class rescue
class ensure
module start
module rescue
module ensure



以上の内容はhttps://unageanu.hatenablog.com/entry/20090530/1243682104より取得しました。
このページはhttp://font.textar.tv/のウェブフォントを使用してます

不具合報告/要望等はこちらへお願いします。
モバイルやる夫Viewer Ver0.14