return と ensure 節

Rubyのensureはreturnを撤回できる - Hello, world! - s21g

これを見て気になったので試した。

def yuno
  true
ensure
  false
end

def miyako
  return true
ensure
  return false
end

def hiro
  return true
ensure
  false
end

def sae
  true
ensure
  return false
end

yuno   # => true
miyako # => false
hiro   # => true
sae    # => false

ちなみに、 begin 節を省略せずに書いても結果はそれぞれ変わらなかった。