Set 继承自 Dict
加载lglib后,会在全局空间注册一个全局变量Set,它是所有集合实例的原型,可以直接使用。
定义一个set
向set中添加元素
删除set中的元素
判断set中是否有某个元素
列举出集合中所有成员
判断本集合是否是另一个集合的子集
将本集合与另一个集合做并集运算
将本集合与另一个集合做交集运算
将本集合与另一个集合做差集运算
将本集合与另一个集合做异或运算
加载lglib后,会在全局空间注册一个全局变量Set,它是所有集合实例的原型,可以直接使用。
定义一个set
Set()
示例:
local set_a = Set()
local set_b = Set{ 'x', 'y', 'z' }
向set中添加元素
set_obj:add(key)
示例:
local set_a = Set()
set_a:add('w') --> { w = true }
删除set中的元素
set_obj:delete(key)
示例:
local set_a = Set{'x', 'y', 'z'}
set_a:delete('x') --> { y = true, z = true }
判断set中是否有某个元素
set_obj:has(key) 如果有,返回true;否则,返回false
列举出集合中所有成员
set_obj:members() 返回一个所有成员组成的list
判断本集合是否是另一个集合的子集
set_obj:isSub(another) 如果是,返回true;反之,返回false
将本集合与另一个集合做并集运算
set_obj:union(another) 返回一个新的set,是self与another做并集的结果
注:本函数可以用 set_a + set_b 的方式使用。
将本集合与另一个集合做交集运算
set_obj:intersection (another) 返回一个新的set,是self与another做交集的结果
注:本函数可以用 set_a * set_b 的方式使用。
将本集合与另一个集合做差集运算
set_obj:difference (another) 返回一个新的set,是self与another做差集的结果
注:本函数可以用 set_a - set_b 的方式使用。
将本集合与另一个集合做异或运算
set_obj:symmetricDifference(another) 返回一个新的set,是self与another做异或的结果
注:本函数可以用 set_a ^ set_b 的方式使用。