在Ruby中更改数组起点

时间:2014-09-26 12:47:47

标签: ruby arrays

我目前在Ruby中有一个由12个元素组成的数组:

[100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100, 100 ]

每个数组元素对应于一年中的月份,因此0表示1月,11表示12月。

到目前为止这么好,但是现在我想改变起始月,而不是1月我需要改变数组的起点,让我们说三月(2)同时保持价值。

我如何在Ruby中重新排序数组起点?

感谢您的帮助!

1 个答案:

答案 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]