Actions
Bug #1143
closedruby 1.9.1p0でensure節が実行されない
Description
=begin
ruby 1.9.1p0で以下を実行した場合、ensure節が実行されません。
def test
return while true
ensure
puts("ENSURE")
end
test
$ ruby -v test.rb
ruby 1.9.1p0 (2009-01-20 revision 21700) [i386-mingw32]
$
別スレッド内で実行しても、またmswin32およびFreeBSD 7.1R/i386版でも実行したところ、やはり同じ結果でした。
ruby 1.8.7p72 (mswin32, FreeBSD 7.1R/i386) 版は上記の通りでもensure節が実行されます。
returnではなくbreakにするとensure節は実行されます。
ifやforでは問題が起こらず、while/untilからのreturnで実行が飛ばされるようです。
=end
Actions
Like0
Like0Like0