我正在处理铁轨中的工作日(wday)。即数字0,1,2,3,4,5,6
不是日期,只是一周中的几天。
我需要将星期五,星期六,星期日[4,5,6]翻译成星期六,星期日,星期一[5,6,0]。如果我只加1,那么我最终得到[5,6,7]这是不好的,因为第7天不存在。我需要在周末结束。
有一种简单的方法吗?
答案 0 :(得分:2)
使用这个奇怪的小技巧,modulo operator:
def next_day(cur_day)
max_day_number = 7
(cur_day + 1) % max_day_number
end
next_day(4) # => 5
next_day(5) # => 6
next_day(6) # => 0
它确保如果值超过限制(max_day_number
),它只会回绕到0并重新开始。