我知道如何实现这一点,但它似乎不像红宝石那样做。
我每周有几天的哈希:
DAYS = {
1 => "Monday",
2 => "Tuesday",
3 => "Wednesday",
4 => "Thursday",
5 => "Friday",
6 => "Saturday",
7 => "Sunday"}
(可能有一些rails helper,但我已经以我能想到的最快方式实现了它)
现在我想创建一个数组,其中第一个元素是今天,其他天应该保持有序。
这是这个数组
def day_keys
# proper sorting of days, start with today and then continue
day_array = (1..7).to_a
loop do
break if day_array.first == Time.now.wday
day_array.rotate!
end
day_array
end
今天是星期五,所以它回来了[5,6,7,1,2,3,4]
。在此之后,我将此数组中的值与DAYS
哈希中的键映射以查找日期名称。
解决方案对我来说似乎很粗糙,所以我想听听一些关于如何实现它的想法。我花了一些时间看,Array#cycle
但Enumerable#inject
似乎没有什么适合我的需要。