9th Tue
Rubyのensureはreturnを撤回できる
以下のメソッドを呼び出すと何が得られるだろうか?
ruby>>
def foo
return 1
ensure
return 2
end
<<--
以下のように、ensure内でreturnされた2が帰ります。
ruby>>
foo #=> 2
<<--
面白いですね。何かに使えそうだ。
以下のメソッドを呼び出すと何が得られるだろうか?
ruby>>
def foo
return 1
ensure
return 2
end
<<--
以下のように、ensure内でreturnされた2が帰ります。
ruby>>
foo #=> 2
<<--
面白いですね。何かに使えそうだ。
ruby>>
def bar
1
ensure
2
end
<<ruby
は
ruby>>
irb(main):006:0> bar
=> 1
<<ruby
なのか。へー