我很难找到一个确切的例子。
如果我有一个包含5个元素的数组。例如。
list = [5, 8, 10, 11, 15]
如果要循环该数组,我想获取该数组的第8个(例如)元素。我不想只复制数组并获取第8个元素,因为nth
元素可能会改变
基本上,第8个元素应该是数字10。
有什么干净的方法吗?
答案 0 :(得分:7)
答案 1 :(得分:2)
这应该做:
def fetch_cycled_at_position(ary, num)
ary[(num % ary.length) - 1]
end
ary = _
=> [5, 8, 10, 11, 15]
fetch_cycled_at_position(ary, 1) # Fetch first element
=> 5
fetch_cycled_at_position(ary, 5) # Fetch 5th element
=> 15
fetch_cycled_at_position(ary, 8) # Fetch 8th element
=> 10
答案 2 :(得分:2)
答案 3 :(得分:1)
答案 4 :(得分:0)
我在irb中运行了这些以获取输出,
irb(main):006:0> list = [5, 8, 10, 11, 15]
=> [5, 8, 10, 11, 15]
irb(main):007:0> list[(8 % list.length) - 1]
=> 10
希望它会对您有所帮助。