我正在嘗試構建幫助程序以從列表中選擇下一個可用日期。Ruby:日選擇程序(從列表中選擇下一個可用日期)
我有天名單作爲參考(這些都是我想要的東西發生當天)
class_list = ["Monday","Saturday","Sunday"]
我需要檢查當天,在列表匹配。 如果它是列表的一部分,我選擇它,如果不是,我從列表中選擇下一個。
這是我到目前爲止有:
#select current day, get its name value and weekday number value
today = Time.now
today_name = today.strftime("%A")
#not sure which of the 2 following line is better
#today_index = DateTime.parse(today_name).wday
today_index = today.strftime("%u").to_i
那我匹配
if class_list.include? today_name
#victory!!!
puts today_name
else
puts "find next day"
class_list.each do |x|
if DateTime.parse(x).wday > today_index
puts "result #{x}"
break
end
end
end
當我運行它似乎很好地工作,但我只是學習Ruby我」米總是想知道我是不是過分複雜的事情。
這個代碼對你來說看起來不錯Ruby主人?
所以Ruby很聰明,明白當你給日期對象加1時,意味着第二天?我喜歡Date.today。在文檔中找不到它:( –
[doc for Date.today](http://ruby-doc.org/stdlib/libdoc/date/rdoc/classes/Date.html#M000411)。Ruby也可以> > 1和<< 1(幾個月) – steenslag