読者です 読者をやめる 読者になる 読者になる

【開発:Ruby】日付の範囲で日ごとに実行するループを完結に記述するやつ

programming

表題の件のような処理を書きたい時にいろいろ調べてたら、Rubyにupto/downtoっていう書き方があるらしい。

start_date = Time.zone.parse('2016-01-01').to_date
end_date = Time.zone.parse('2016-01-10').to_date
start_date.upto(end_date) { |date| puts date}
// 2016-01-01
// 2016-01-02
// 2016-01-03
// 2016-01-04
// 2016-01-05
// 2016-01-06
// 2016-01-07
// 2016-01-08
// 2016-01-09
// 2016-01-10
end_date.downto(start_date) { |date| puts date }
// 2016-01-10
// 2016-01-09
// 2016-01-08
// 2016-01-07
// 2016-01-06
// 2016-01-05
// 2016-01-04
// 2016-01-03
// 2016-01-02
// 2016-01-01

以上。