我想也许你误会了each_with_index
。
each
将遍历数组中的元素
[:a, :b, :c].each do |object|
puts object
end
哪个输出;
:a
:b
:c
each_with_index
遍历元素,并传入索引(从零开始)
[:a, :b, :c].each_with_index do |object, index|
puts "#{object} at index #{index}"
end
哪个输出
:a at index 0
:b at index 1
:c at index 2
如果你想要它 1-indexed 那么只需添加 1。
[:a, :b, :c].each_with_index do |object, index|
indexplusone = index + 1
puts "#{object} at index #{indexplusone}"
end
哪个输出
:a at index 1
:b at index 2
:c at index 3
如果要遍历数组的子集,只需选择子集,然后遍历它
without_first_element = array[1..-1]
without_first_element.each do |object|
...
end