循环遍历Ruby中的数组

Man*_*M J 3 ruby ruby-on-rails

我有一个[1,2,3,4,5]形式的数组.

是否可以循环遍历此数组并在每次迭代期间获得一个数组,其中起始点是当前元素,而结束点是之前的元素?

喜欢

[1,2,3,4,5]

[2,3,4,5,1]

[3,4,5,1,2]

[4,5,1,2,3]

[5,1,2,3,4]
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用.cycle方法的数组,但它没有给出预期的结果.

TK-*_*421 6

检查旋转.

a = [ "a", "b", "c", "d" ]
a.rotate         #=> ["b", "c", "d", "a"]
Run Code Online (Sandbox Code Playgroud)


dav*_*rac 5

irb(main):005:0> array = [1,2,3,4,5]
=> [1, 2, 3, 4, 5]
irb(main):006:0> array.size.times.map{|i| array.rotate(i)}
=> [[1, 2, 3, 4, 5], [2, 3, 4, 5, 1], [3, 4, 5, 1, 2], [4, 5, 1, 2, 3], [5, 1, 2 , 3, 4]]
Run Code Online (Sandbox Code Playgroud)