If I have arr = [1, 2, 3, 4] I know I can do the following...
arr = [1, 2, 3, 4]
> arr.each_slice(2) { |a, b| puts \"#{a}, #{b}\" } 1, 2 3, 4
...A
Like most iterator methods, each_slice returns an enumerable when called without a block since ruby 1.8.7+, which you can then call further enumerable methods on. So you can do:
each_slice
arr.each_slice(2).with_index { |(a, b), i| puts "#{i} - #{a}, #{b}" }