2013-03-23 16 views
25

gibi bir tarihte başlayarak yineleyin. Örneğin, 1 Ocak 2013'ten başlamalı ve her bir tarih için "bazı şeyler yapmam gerekiyor" ve sonuçta her bir tarih için bir JSON dosyası oluşturulmalı.x tarihinden başlayarak x tarihinden başlayarak,

Tek bir tarih için "bazı şeyler yap" bölümüne sahibim, ancak bir tarihte başlayıp başka bir bitiş tarihine kadar geçmekte zorlanıyorum.

cevap

64

kullanabilirsiniz aralıkları:

(Date.new(2012, 01, 01)..Date.new(2012, 01, 30)).each do |date| 
    # Do stuff with date 
end 

ya da (@awendt cevaba bakınız)

Date.new(2012, 01, 01).upto(Date.new(2012, 01, 30)) do |date| 
    # Do stuff with date 
end 
+0

Ruby'de aralıklar olarak adlandırılırlar. –

+0

Harika, teşekkürler! Tarih formatını nasıl tanımlarım (01012013 - ay gün yılı)? – ghal

+0

Benim kötü @HunterMcMillen. user1034672 Sorunu anlamıyorum. – Intrepidd

İlgili konular