2010-08-31 18 views
5

我一直在嘗試使用Date對象的步驟()方法來檢索當前日期前2個日期如下:Ruby的正確用法

date_d.step(2, step=-2){|d| 
    puts d   
    } 

哪裏2是極限,step是向前或向後的步數。

我已經按照這裏給出的文檔做到了這一點:Date.step()

這段代碼進入一個無限循環,然後輸出日期不停(向後)

似乎沒有給對於這種方法有足夠的文檔,我也沒有在網上找到解決方案。

請幫我解決這個問題。

回答

5

極限參數是循環停止的日期而不是天數或迭代次數。 因此,例如

date_d = Date.parse('2010-08-01') 
date_d.step(date_d - 4 , step=-2){|d| 
    puts d   
} 

將輸出

2010-08-01 
2010-07-30 
2010-07-28 
+0

謝謝。我會試試這個 – dkris 2010-08-31 08:52:44