Ruby on rails 在rails中递增wday

Ruby on rails 在rails中递增wday,ruby-on-rails,ruby,Ruby On Rails,Ruby,我正在rails中处理星期日(wday)。i、 e.数字0,1,2,3,4,5,6 不是日期,只是一周中的几天 我需要把星期五,星期六,星期天[4,5,6]翻译成星期六,星期天,星期一[5,6,0]。如果我只加1,那么我会得到[5,6,7],这是不好的,因为第7天不存在。我需要在周末休息一下 有没有一个简单的方法可以做到这一点?使用这个奇怪的小技巧: 它确保了如果值超过限制(max\u day\u number),它将只返回到0并重新开始。我需要使用max\u day\u number=7作为示

我正在rails中处理星期日(wday)。i、 e.数字0,1,2,3,4,5,6

不是日期,只是一周中的几天

我需要把星期五,星期六,星期天[4,5,6]翻译成星期六,星期天,星期一[5,6,0]。如果我只加1,那么我会得到[5,6,7],这是不好的,因为第7天不存在。我需要在周末休息一下


有没有一个简单的方法可以做到这一点?

使用这个奇怪的小技巧:


它确保了如果值超过限制(
max\u day\u number
),它将只返回到0并重新开始。

我需要使用max\u day\u number=7作为示例,但这很完美。我以前没听说过模运算-谢谢-你为我节省了很多时间,@user3565039为什么你需要最大日数为7?因为我希望下一天(6)=>0而不是下一天(6)=>1@user3565039:啊!我在编辑时把片段弄乱了。感谢您的注意:)@Stefan:off by 1错误在我这边的典型案例:)尝试模运算,例如
wday%7
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