Module: Permutations::Array
- Included in:
- Array
- Defined in:
- lib/permutations.rb
Instance Method Summary collapse
-
#permutations(leftovers = self) ⇒ Object
Recursively permutate nested arrays.
Instance Method Details
#permutations(leftovers = self) ⇒ Object
Recursively permutate nested arrays.
4 5 6 7 8 9 10 11 12 13 14 |
# File 'lib/permutations.rb', line 4 def permutations(leftovers=self) tail = leftovers.last return tail.map{|e| [e]} if leftovers.size == 1 resulting_permutations = [] permutations(leftovers[0...-1]).each do |permutation| tail.each do |tail_element| resulting_permutations << (permutation + [tail_element]) end end resulting_permutations end |