From: Juan Matias Date: 2010-06-08T12:52:17+09:00 Subject: Re: array and hash combine methods glen wrote: > Just thought I'd post a solution I came up with to finding > combinations (as in, permutations and combinations) of arrays. For > example, combining: > > [1,2] and [3,4,5] > > should return: > > [[1,3],[1,4],[1,5],[2,3],[2,4],[2,5]] > > which is easy enough. But I wanted something that combine several > arrays at once, ie: > > [[1,2],[3,4,5],[6,7]].combine > => [[1, 3, 6], [1, 3, 7], [1, 4, 6], [1, 4, 7], [1, 5, 6], [1, 5, 7], > [2, 3, 6], [2, 3, 7], [2, 4, 6], [2, 4, 7], [2, 5, 6], [2, 5, 7]] > And why not something like: [1,2].combine([3,4]).combine([5,6,7]) I do that with this code: class Array def combine(otherArray) aux = [] self.each do |self_elem| otherArray.each do |other_elem| aux << [self_elem,other_elem] end end aux.map {|elem| elem.flatten } end end Juan Matias -- Posted via http://www.ruby-forum.com/.