😎
[Bug #20597] `eval('break if false')` が SyntaxError にならないバグ報告
[Bug #20597] eval('break if false') should raise SyntaxError but retuns nil
-
break if falseを実行するとSyntaxErrorになる
# Invalid break (SyntaxError)
break if false
- しかし
evalで同コードを実行したときにはSyntaxErrorにならないというバグ報告
# no error
eval("break if false")
- チケットの内容によると以下のように一部の書き方だと
SyntaxErrorになるみたいですね
eval('break if false') #=> nil
eval('break if (false)') #=> nil
eval('break if nil') #=> nil
eval('break if (nil)') #=> Can't escape from eval with break (SyntaxError)
eval('break if 0>1') #=> Can't escape from eval with break (SyntaxError)
- また
nextredoも同様のこと
Discussion