Enumerator とは?
ざっくり言うと、Ruby で繰り返しを行いたいときに Enumerator オブジェクトが使われます。
例えば回数を繰り返したい数に times メソッドを付加すると、それはもう Enumerator オブジェクトになります。
※この説明は完全ではありませんがイメージとして掴むためには十分かと思います。
irb(main):031:0> 3.times
=> #<Enumerator: 3:times>
実際に繰り返し処理を行いたいとき
基本的には Enumerator オブジェクトを使いながら、ブロックを記述します。
irb(main):035:1* 3.times do |i|
irb(main):036:1* puts i
irb(main):037:0> end
0
1
2
=> 3
i が変わりつつ 0, 1, 2 と増えながら繰り返されていることが分かりますね。
ブロック処理以外の繰り返し
中括弧でブロックを表現することもできます。
irb(main):038:0> 3.times { |num| puts num }
0
1
2
=> 3
一行で書けるときにはこういった書き方をすることがあるので、覚えておきましょう。