😎
[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)
- また
next
redo
も同様のこと
Discussion