プログラミングに役立つ情報をメモしています
Ruby プログラミング

Ruby入門 PART8 (ブロック、Proc) (全11回)

パーフェクトRubyを読んで、重要なポイント等をメモしていきます.

ブロック

  • メソッドの引数として渡す無名関数のようなもの
  • ブロックはメソッドと違い、多い引数や少ない引数を渡してもエラーにならない

ブロックをProcオブジェクトとして受け取る

  • 引数名の前に&を付けると、ブロックを仮引数として受け取れる
  • &を使った仮引数は、一番最後の引数でなければならない
  • メソッド定義側の引数を仮引数と呼ぶ

オブジェクトをブロックとして渡す

  • &を付けてProcオブジェクトを渡すと、ブロックとして渡される

Proc以外のオブジェクトに&を付けると、to_procを呼び出した結果がメソッドに渡される

  • MethodオブジェクトもProcに変換することが可能
  • 可読性が下がることがある