block初級

Ruby でメソッド内から `yield` を呼ぶと何が起きますか?

  • メソッドの戻り値を返す
  • 渡されたブロックを実行する
  • 例外を発生させる
  • 次のイテレーションに進む

解説

`yield` はメソッドに渡されたブロックを呼び出します。`yield 引数` でブロックに値を渡せます。ブロックが渡されなかった場合に `yield` を呼ぶと `LocalJumpError` が発生します。`block_given?` で事前確認できます。