概要
Range#each {|item| ... } -> self
Range#each -> Enumerator
詳細
範囲内の要素に対して繰り返します。
Range#each は各要素の succ メソッドを使用してイテレーションする
succ メソッドを持たない場合、エラーになります。
サンプルコード
require 'date' ret = (1..5).each { |e|print e } print "\n", (1..5).each, "\n" ret = ('a'..'e').each { |e|print e } print "\n", ('a'..'e').each, "\n" ret = (Date.new(2014,1,4)..Date.new(2014,1,10)).each { |e|print e } print "\n", (Date.new(2014,1,4)..Date.new(2014,1,10)).each, "\n" date_range = (Date.new(2014,1,4)..Date.new(2014,1,10)) print date_range.take(5).map(&:to_s), "\n"
出力
12345 #<Enumerator:0x0000060040ec18> abcde #<Enumerator:0x0000060040e830> 2014-01-042014-01-052014-01-062014-01-072014-01-082014-01-092014-01-10 #<Enumerator:0x0000060040e290> ["2014-01-04", "2014-01-05", "2014-01-06", "2014-01-07", "2014-01-08"]