[ruby-list:50126] Re: v2.1.0: ネストされたbegin節でbreak→LocalJumpError?
From:
Nobuyoshi Nakada <nobu@...>
Date:
2015-04-29 07:39:16 UTC
List:
ruby-list #50126
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