我目前在Ruby中有一个由12个元素组成的数组:
[100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 ]
每个数组元素对应于一年中的月份,因此0表示1月,11表示12月。
到目前为止这么好,但是现在我想改变起始月,而不是1月我需要改变数组的起点,让我们说三月(2)同时保持价值。
我如何在Ruby中重新排序数组起点?
感谢您的帮助!
答案 0 :(得分:4)
您可以使用Array#rotate
例如:
a = (0..12).to_a # => [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12]
a.rotate(2) # => [2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 0, 1]