好吧,我还没有找到一个干净的解决方案来轻松地在Ruby中编写代码:
# Java style version:
array.each do |i, el|
if i < array.length - 1
process(array[i], array[i+1])
end
end
# Would be nice if I could do something like this:
array.each do |i, el, next|
process(el, next)
end
答案 0 :(得分:8)
您可以使用each_cons
:
array.each_cons(2) do |a, b|
process(a, b)
end
答案 1 :(得分:2)
ar = [1,2,3,4]
(ar.size - 1).times {|i| process ar[i],ar[i+1]}