1

好吧,我还没有找到一个干净的解决方案来轻松地用 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
4

2 回答 2

8

您可以使用each_cons

array.each_cons(2) do |a, b|
  process(a, b)
end
于 2013-08-07T19:25:51.950 回答
2
ar = [1,2,3,4]
(ar.size - 1).times {|i| process ar[i],ar[i+1]}
于 2013-08-07T19:27:49.307 回答