lglib.set API

Set 继承自 Dict

加载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 的方式使用。


猜你喜欢

转载自daogangtang.iteye.com/blog/1079350
API