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 Set
  • fn: a function
  • ...: extra arguments to pass to the function.

Returns:

    a new set
union (self, set)
union of two sets (also +).

Parameters:

  • self: a Set
  • set: another set

Returns:

    a new set
intersection (self, set)
intersection of two sets (also *).

Parameters:

  • self: a Set
  • set: 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 Set
  • set: another set

Returns:

    a new set
issubset (self, set)
is the first set a subset of the second (also <)?.

Parameters:

  • self: a Set
  • set: 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 Set
  • s2: another set

Returns:

    true or false
generated by LDoc 1.2