From: Farrel Lifson Date: 2007-09-18T00:27:19+09:00 Subject: Re: group array elements in groups of two On 17/09/2007, Emmanuel Oga wrote: > A better way to do this? : > > arr= [1, 2, 3, 4, 5, 6, 7, 8] > new= [] > while !arr.empty? > elem1, elem2= arr.pop, arr.pop > new << [elem2, elem1]; > end > new.reverse! > > new= [[1, 2], [3, 4], [5, 6], [7, 8]] > > Thanks! irb(main):012:0> require 'enumerator' => true irb(main):013:0> new = [] => [] irb(main):014:0> [1,2,3,4,5,6].each_slice(2) do |slice| irb(main):015:1* new << slice irb(main):016:1> end => nil irb(main):017:0> new => [[1, 2], [3, 4], [5, 6]]