ブロック応用レベル
Ruby でブロックを受け取るメソッドを定義するとき、ブロックを明示的に受け取る引数の書き方はどれですか?
- 1def foo(*block)
- 2def foo(&block)
- 3def foo(block:)
- 4def foo([block])
解説
& プレフィックスを付けた引数はブロックを Proc オブジェクトとして受け取ります。yield で暗黙的に呼ぶ方法もありますが、明示的に受け取る場合は &block を使います。
Ruby でブロックを受け取るメソッドを定義するとき、ブロックを明示的に受け取る引数の書き方はどれですか?
解説
& プレフィックスを付けた引数はブロックを Proc オブジェクトとして受け取ります。yield で暗黙的に呼ぶ方法もありますが、明示的に受け取る場合は &block を使います。