3
我有一個[1,2,3,4,5]形式的數組。通過Ruby中的數組循環遍歷
是否有可能循環遍歷此數組,並在每次迭代過程中得到一個數組,其中起點是當前元素,終點是之前的元素?
像
[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]
我與陣列的.cycle方法嘗試,但它不給出預期的結果。
我有一個[1,2,3,4,5]形式的數組。通過Ruby中的數組循環遍歷
是否有可能循環遍歷此數組,並在每次迭代過程中得到一個數組,其中起點是當前元素,終點是之前的元素?
像
[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]
我與陣列的.cycle方法嘗試,但它不給出預期的結果。
退房rotate。
a = [ "a", "b", "c", "d" ]
a.rotate #=> ["b", "c", "d", "a"]
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]]