Module: Stupidedi::Sets
- Defined in:
- lib/stupidedi/sets.rb,
lib/stupidedi/sets/null_set.rb,
lib/stupidedi/sets/abstract_set.rb,
lib/stupidedi/sets/relative_set.rb,
lib/stupidedi/sets/absolute_set.rb,
lib/stupidedi/sets/universal_set.rb,
lib/stupidedi/sets/relative_complement.rb
Defined Under Namespace
Classes: AbsoluteSet, AbstractSet, RelativeComplement, RelativeSet
Constant Summary
Class Method Details
+ (Sets::AbsoluteSet) absolute(other, universe = other)
44
45
46
47
48
49
50
|
# File 'lib/stupidedi/sets.rb', line 44
def absolute(other, universe = other)
if universe.eql?(other)
Sets::AbsoluteSet.build(universe)
else
Sets::AbsoluteSet.build(universe).intersection(other)
end
end
|
17
18
19
20
21
22
23
24
25
26
|
# File 'lib/stupidedi/sets.rb', line 17
def build(object)
if object.is_a?(Sets::AbstractSet)
object
elsif object.is_a?(Enumerable)
Sets::RelativeSet.build(object)
else
raise TypeError,
"argument must be an AbstractSet or Enumerable"
end
end
|
29
30
31
|
# File 'lib/stupidedi/sets.rb', line 29
def complement(other)
build(other).complement
end
|
+ (Sets::NullSet) empty
39
40
41
|
# File 'lib/stupidedi/sets.rb', line 39
def empty
Sets::NullSet.build
end
|
+ (Sets::UniversalSet) universal
34
35
36
|
# File 'lib/stupidedi/sets.rb', line 34
def universal
Sets::UniversalSet.build
end
|