更新爲了清楚起見:我有一個彩票的開始日期爲星期三或星期六,而另一個彩票的開始日期爲星期二或星期五。考慮到開始日期,我需要無限期地爲這些票證提供未來繪圖日期,並在相應票證的給定日期之間交替。開始日期已經過驗證,可以在本週的這些日子裏進行比賽。在Ruby中設置未來日期
我要檢查的強力球圖紙是在週三或週六的正確日期定連續:
# Increment zero is the first subsequent drawing
if increment.zero?
if starting_date.saturday? or starting_date.friday?
starting_date + 4.days
else
starting_date + 3.days
end
elsif increment == 1
starting_date + 1.week
else
if starting_date.saturday? or starting_date.friday?
starting_date + (increment/2.0).ceil.weeks + 4.days
else
starting_date + (increment/2.0).ceil.weeks + 3.days
end
end
一些結果我得到...
t.lines[0].draw_date #=> Wed, 09 Mar 2016
t.lines[1].draw_date #=> Sat, 12 Mar 2016
t.lines[2].draw_date #=> Wed, 16 Mar 2016
t.lines[3].draw_date #=> Sat, 19 Mar 2016
t.lines[4].draw_date #=> Sat, 26 Mar 2016
t.lines[5].draw_date #=> Sat, 26 Mar 2016
t.lines[6].draw_date #=> Sat, 02 Apr 2016
t.lines[7].draw_date #=> Sat, 02 Apr 2016
好像應該有一個簡單的解決方案。
什麼是't.lines'?什麼是'draw_date'?你期望的結果是什麼? – Stefan
每行應該是從前一天的下一個週三或週六 – tidelake