On 8/8/07, Jano Svitok <jan.svitok / gmail.com> wrote: > On 8/8/07, FireAphis <FireAphis / gmail.com> wrote: > > Hello, > > > > I need to iterate through a list and handle two elements on every > > iteration. That is I'd like to do something like > > > > [1,2,3,4,5].each { |x, y| puts x.to_s + y.to_s } > > > > 12 > > 23 > > 34 > > 45 > > > > This code doesn't work off course. > > I can iterate using indices > > > > 0.upto(list.size-1) { |i| puts list[i] + list[i+1] } > > > > But it looks ugly to me. Do you know any elegant tricks that don't use > > list indices? > > > > Thanks > > FireAphis > > Enumerable#each_slice(n) {|...| ...} > Sorry Enumerable#each_cons(n) { } you might need to require 'enumerable' though.