On 2015/04/29 16:03, Nobuyoshi Nakada wrote:
> 2015年4月29日水曜日、増田悦久<uta2ne / gmail.com>さんは書きました:
> 
>> マスダといいます。
>>
>> Rubyを v1.8.7 より v2.1.0 へアップデートしてみたところ、以下のスクリ
>> プトの break でLocalJumpErrorが出てしまいます。
>> 何か他のイテレータの脱出方法があるんでしょうか?
>>
> 
> バグっぽい気がします。
> 後で調べますが、bugs.ruby-lang.orgに登録しておいてもらえると助かります。

2.2だけのようです。

$ ruby2.1 -v -e '1.times{begin raise; rescue; begin raise; rescue; break; end; end}; p :ok'
ruby 2.1.6p336 (2015-04-13 revision 50298) [universal.x86_64-darwin14.0]
:ok

$ ruby2.2 -v -e '1.times{begin raise; rescue; begin raise; rescue; break; end; end}; p :ok'
ruby 2.2.2p95 (2015-04-13 revision 50295) [universal.x86_64-darwin14]
-e:1:in `rescue in rescue in block in <main>': break from proc-closure (LocalJumpError)
	from -e:1:in `rescue in block in <main>'
	from -e:1:in `block in <main>'
	from -e:1:in `times'
	from -e:1:in `<main>'
bash: exit 1

$ ruby-trunk -v -e '1.times{begin raise; rescue; begin raise; rescue; break; end; end}; p :ok'
ruby 2.3.0dev (2015-04-29 trunk 50400) [universal.x86_64-darwin14]
:ok