Class: Set
- Inherits:
-
Object
- Object
- Set
- Defined in:
- lib/venny/std_lib_ext/set.rb
Instance Method Summary collapse
- #*(enum) ⇒ Object
- #cartesian_product(*enums) ⇒ Object
- #complement(enum) ⇒ Object
- #power_set ⇒ Object
Instance Method Details
#*(enum) ⇒ Object
25 |
# File 'lib/venny/std_lib_ext/set.rb', line 25 def *(enum); cartesian_product(enum); end |
#cartesian_product(*enums) ⇒ Object
18 19 20 21 22 23 |
# File 'lib/venny/std_lib_ext/set.rb', line 18 def cartesian_product(*enums) raise ArgumentError, 'must supply at least one Enumerable argument' if enums.empty? raise ArgumentError, 'all arguments must be enumerable' if enums.any? { |element| !element.is_a?(Enumerable) } enums << self recursive_cartesian_product(*enums) end |