メソッドとブロックの戻り値
このブログ(ばくのエンジニア日誌)はBAKUNOTEに移転しました。
メソッドとブロックの戻り値についてのメモ。
yieldの前に変数を置いて、ブロックの戻り値を受け取ることができます。
ブロックの戻り値は、最後に評価された値です。
def my_method a = yield puts a + " received" end my_method do "block message" end # "block message received"と表示される
ブロック内でbreakを使うと、引数に指定した値がメソッドの戻り値となります。
def my_method a = yield puts a + " received" end my_method do break "block message" end # => "block message"
メソッド内でreturnを使い、戻り値を指定することができます。
def my_method a = yield if a == "block message" return "same" end puts a + " received" end my_method do "block message" end # => "same"