From 42ec7286b2d36a9ba22925f816a17cb1cc2aa5ce Mon Sep 17 00:00:00 2001 From: chai Date: Sat, 30 Oct 2021 11:32:16 +0800 Subject: + Penlight --- Data/Libraries/Penlight/docs/libraries/pl.Set.html | 650 +++++++++++++++++++++ 1 file changed, 650 insertions(+) create mode 100644 Data/Libraries/Penlight/docs/libraries/pl.Set.html (limited to 'Data/Libraries/Penlight/docs/libraries/pl.Set.html') diff --git a/Data/Libraries/Penlight/docs/libraries/pl.Set.html b/Data/Libraries/Penlight/docs/libraries/pl.Set.html new file mode 100644 index 0000000..8eda41e --- /dev/null +++ b/Data/Libraries/Penlight/docs/libraries/pl.Set.html @@ -0,0 +1,650 @@ + + + + + Penlight Documentation + + + + +
+ +
+ +
+
+
+ + +
+ + + + + + +
+ +

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]
+[orange]
+> more_fruits = fruit + 'apricot'
+> = fruit*colours
+ =  more_fruits, fruit
+banana,apricot,apple,orange]    [banana,apple,orange]
+
+ + +

Dependencies: pl.utils, pl.tablex, pl.class, pl.Map, (pl.List if __tostring is used)

+ + +

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 <)?.
isempty (self)is the set empty?.
isdisjoint (s1, s2)are the sets disjoint?
len (s)size of this set (also # for 5.2).
+

metamethods

+ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + +
__tostring ()string representation of a set.
__add ()union of sets.
__mul ()intersection of sets.
__sub ()difference of sets.
__pow ()symmetric difference of sets.
__lt ()first set subset of second?
__len ()cardinality of set (5.2).
__eq (s1, s2)equality between sets.
+ +
+
+ + +

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 +
  • +
+ +

Returns:

+
    + + a list +
+ + + + +
+
+ + 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 +
+ + + +

Usage:

+
    +
    > s = Set{10,20,30}
    +> t = Set{20,30,40}
    +> = t
    +[20,30,40]
    +> = Set.intersection(s,t)
    +[30,20]
    +> = s*t
    +[30,20]
    +
+ +
+
+ + 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 +
+ + + + +
+
+ + isempty (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 +
+ + + + +
+
+ + len (s) +
+
+ size of this set (also # for 5.2). + + +

Parameters:

+
    +
  • s + a Set +
  • +
+ +

Returns:

+
    + + size +
+ + + + +
+
+

metamethods

+ +
+
+ + __tostring () +
+
+ string representation of a set. + + + + + + + +
+
+ + __add () +
+
+ union of sets. + + + + + + + +
+
+ + __mul () +
+
+ intersection of sets. + + + + + + + +
+
+ + __sub () +
+
+ difference of sets. + + + + + + + +
+
+ + __pow () +
+
+ symmetric difference of sets. + + + + + + + +
+
+ + __lt () +
+
+ first set subset of second? + + + + + + + +
+
+ + __len () +
+
+ cardinality of set (5.2). + + + + + + + +
+
+ + __eq (s1, s2) +
+
+ equality between sets. + + +

Parameters:

+
    +
  • s1 + +
  • +
  • s2 + +
  • +
+ + + + + +
+
+ + +
+
+
+generated by LDoc 1.4.6 +Last updated 2018-11-23 21:07:42 +
+
+ + -- cgit v1.1-26-g67d0