ブロック

ブロックとは

  • メソッドに渡せる無名関数のようなもの
  • メソッドの引数にしか使えない
  • ブロックに引数も取れる
  • 関数は渡せない
  • do〜endもしくは{}で記述する
5.times {
  puts "hello"
}


これは数字クラスの持つtimesというメソッドに"hello"と表示するブロックを渡しているということになる。
この場合5回"hello"が出力される。


Rubyを勉強する前はtimesっていう構文があるのかと思ってた。


関数は渡せないのでdo〜endなどで括ってやる必要がある。

def puts_hello
  puts "hello"
end
5.times do puts_hello end