Module: Enumerable
- Defined in:
- lib/core/enumerable.rb
Class Method Summary collapse
Instance Method Summary collapse
Class Method Details
.all_combinations(source) ⇒ Object
3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/core/enumerable.rb', line 3 def self.all_combinations source result_count = source.map(&:size).inject :* group_count = 1 result = [] source.each do |elems| row = [] group_count.times do elems.each do |elem| (result_count / group_count / elems.size).times { row << elem } end end group_count *= elems.size result << row end result.transpose end |
Instance Method Details
#pairs ⇒ Object
20 21 22 |
# File 'lib/core/enumerable.rb', line 20 def pairs respond_to?(:combination) ? combination(2) : to_a.combination(2) end |