ブロック
ブロックとは
- メソッドに渡せる無名関数のようなもの
- メソッドの引数にしか使えない
- ブロックに引数も取れる
- 関数は渡せない
- 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