Module pl.Set
A Set class.
> Set = require 'pl.Set'
> = Set{'one','two'} == Set{'two','one'}
true
> fruit = Set{'apple','banana','orange'}
> = fruit['banana']
true
> = fruit['hazelnut']
nil
> colours = Set{'red','orange','green','blue'}
> = fruit,colours
[apple,orange,banana] [blue,green,orange,red]
> = fruit+colours
[blue,green,apple,red,orange,banana]
> = fruit*colours
[orange]
Depdencies: pl.utils , pl.tablex , pl.class
Functions
Set (t) | create a set. |
values (self) | get a list of the values in a set. |
map (self, fn, ...) | map a function over the values of a set. |
union (self, set) | union of two sets (also +). |
intersection (self, set) | intersection of two sets (also *). |
difference (self, set) | new set with elements in the set that are not in the other (also –). |
issubset (self, set) | is the first set a subset of the second (also <)?. |
issempty (self) | is the set empty?. |
isdisjoint (s1, s2) | are the sets disjoint? |
Functions
- Set (t)
-
create a set.
Parameters:
t
: may be a Set, Map or list-like table.
- values (self)
-
get a list of the values in a set.
Parameters:
self
: a Set
- map (self, fn, ...)
-
map a function over the values of a set.
Parameters:
self
: a Setfn
: a function...
: extra arguments to pass to the function.
Returns:
-
a new set
- union (self, set)
-
union of two sets (also +).
Parameters:
self
: a Setset
: another set
Returns:
-
a new set
- intersection (self, set)
-
intersection of two sets (also *).
Parameters:
self
: a Setset
: another set
Returns:
-
a new set
- difference (self, set)
-
new set with elements in the set that are not in the other (also –).
Parameters:
self
: a Setset
: another set
Returns:
-
a new set
- issubset (self, set)
-
is the first set a subset of the second (also <)?.
Parameters:
self
: a Setset
: another set
Returns:
-
true or false
- issempty (self)
-
is the set empty?.
Parameters:
self
: a Set
Returns:
-
true or false
- isdisjoint (s1, s2)
-
are the sets disjoint? (no elements in common).
Uses naive definition, i.e. that intersection is empty
Parameters:
s1
: a Sets2
: another set
Returns:
-
true or false