Dateクラスもstepで飛ばし飛ばし実行可能です。
ゴールにはDateクラスを渡してあげます。
Date.new(2014,1,1).step(Date.new(2014,1,5),1){|i| p i.jisx0301} #>> "H26.01.01" #>> ... #>> "H26.01.05"
というわけで...いつぞやの記事から何度か扱っているN月1日の曜日を調べるスクリプトを
3年分出力したくなった場合もative_support/core_extを使ってあげる事で
Date.new(2014) p year.step((year + 3.year).end_of_year).lazy.select{|i| i == i.beginning_of_month }.to_a
と書き換える事ができます。
前のバージョンと比べて長くなりました。
その分、年を跨いだ記述が楽です。
lazyがあるから無駄なオブジェクトも生成しませんしね。