From: Robert Klemme Date: 2007-07-10T17:16:30+09:00 Subject: Re: Repacking an array of arrays 2007/7/10, Kaps Lok : > Is there an elegant (maybe a one-liner) for repacking: > > [[1, 4, 7, 10, 13], [2, 5, 8, 11, 14], [3, 6, 9, 12, 15]] > > to? > > [[1, 4, 7], [10, 13, 2], [5, 8, 11], [14, 3, 6], [9, 12, 15]] > > So rather than having 3 arrays each with 5 elements, I get five arrays > of 3 elements each... > > the only way I can see to do this is by looping the array, and creating > new arrays. Try this: require 'enumerator' p [[1, 4, 7, 10, 13], [2, 5, 8, 11, 14], [3, 6, 9, 12, 15]].flatten.to_enum(:each_slice, 3).to_a Kind regards robert