我有一个不同数量的元素0..n元素的数组。一个例子可以是:圆形阵列切片
a = [0,1,2,3,4,5,6,7,8,9]
在迭代过程中,我想移动一个光标的阵列中,切片出元件的最大数量。如果我到了数组的“结束”,它应在开始并从挑选再次开始:
事情是这样的:
4.times do |i|
a.slice(i * 3, 3)
end
# i = 0 => [0,1,2]
# i = 1 => [3,4,5]
# i = 2 => [6,7,8]
# i = 3 => [9,0,1]
# ...
但是最后的输出i = 3
产生[9]
作为.slice
没有做准确我想要的是。
正是我想到的 - 'a.cycle.each_slice(3).take “i =#{i} =>#{a}”}',但不确定是否需要这个问题:) –
@AndreyDeineko这个例子包含了预期的输出:'i = 3 => [9,0 ,1]' – Stefan