- プログラミング言語 Rubyより
rescue節は新しい変数スコープを定義しないので、rescue節で名前を与えられた変数は、rescue節終了後も見えることに注意しよう。
- プログラミング言語 Ruby 第2版 165ページ 例外オブジェクトの命名
え?まじで?かなり直感に反するんですが。
begin a = b rescue => ex puts ex # undefined local variable or method `b' for main:Object end puts ex # undefined local variable or method `b' for main:Object
まじだった...。なんでこんな仕様なんだろう...。