👏
[Bug #20917] ネストしている begin の中で redo / next を呼び出した時のバグ報告
[Bug #20917] redo/next in nested begin block causes wrong order of execution
- 次のようにネストしている
begin
の中でredo / next
を呼び出した時に実行順が意図していないというバグ報告
for _ in [0]
puts 0
begin
puts 1
begin
puts 2
redo
ensure
puts 3
end
ensure
puts 4
break
end
end
__END__
output:
0
1
2
3
4
3
4
expect:
0
1
2
3
4
-
redo
を実行した時にどこのスコープに移動するのかがポイントなんですかね? -
redo
がfor in
にかかっているのであればそこに飛んでいくのが意図している気がしますが - TruffleRuby や JRuby だと結果が
0 1 2 3 4
になるみたいですね
Discussion