假设我有一个size
数组5.我想取一个索引(从0到4)作为输入,并从提供的索引开始遍历数组。
例如,如果给出的索引是3,我想像这样迭代:
arr[3]
arr[4]
arr[0]
arr[1]
arr[2]
我可以想到很多方法可以做到这一点 - 但 Ruby方式是做什么的?
答案 0 :(得分:14)
您可以使用版本1.9.2中的Array#rotate
[4,3,6,7,8].rotate(2).each{|i|print i}
67843
答案 1 :(得分:1)
我应该想象有很多方法可以用红宝石做到。不确定 ruby方式是做什么的。也许:
arr.size.times do |i|
puts arr.at((3 + i).modulo(arr.size))
end
答案 2 :(得分:0)
鉴于您的索引是i:
(arr.from(i) + arr[0,i]).each