はじめに
※以下の内容には誤りが含まれる可能性があります
ブロックとは何か
ブロックとはイテレーターを実装したものである。イテレーターとはオブジェクトの要素や値を
1つずつ取り出して処理することです。
ブロックの使い方
3.times do
puts "Hello Ruby!"
end
3というリテラルは整数クラスのオブジェクト(正確にはFixnumクラスのオブジェクト)として扱われるので、timesメソッドの後のdo~endの間に書かれている文が3回実行される。
その他、do~endの代わりに{ ~ }を使ってもいい。
$ ruby sample.rb
Hello Ruby!
Hello Ruby!
Hello Ruby!
プログラムを実行すると、timesメソッドの働きにより、Hello Ruby!が3回表示される。
この段階では、timesメソッドによる繰り返し処理を行っただけで、ブロックの機能を全て使っているわけではない。
Integerオブジェクトの値が0以下の場合、timesメソッドによる繰り返しは実行されない。
まとめ
- ブロックとはイテレーターを実装したもの。
- ブロックの使い方
$ ruby sample.rb
Hello Ruby!
Hello Ruby!
Hello Ruby!