lglib概览
lglib为lua提供了很多扩展。加载lglib后,它完成以下几件事情:
1. 扩展了lua标准库中的string, table, io三个库;
2. 增加了一些数据类型;
3. 增加了一些辅助函数。
第一个工作,就是把lglib.string, lglib.table, lglib.io三个模块中的接口注入到lua标准库中的string, table, io三个名称空间下。
第二个工作,主要是新增了以下全局数据对象:
Object:这个对象,为lua提供了方便好用的oop机制。
local Cat = Object:extend {....}typename(t)返回'List', 'Dict', 'Set', 'Table', nil中的一种
isList(t)如果是list,就返回true;否则,返回false
isDict(t)如果是dict,就返回true;否则,返回false
isSet(t)如果是set,就返回true;否则,返回false
ptable(t)
pptable(t)
po(t)
checkType(...)其中,参数要求这个样子使用。即先写参数变量,后面要跟上这些变量的期望类型。checkType(a, b, c, 'string', 'table', 'number')
checkRange(...)其中,参数要求这个样子使用。checkRange(a, 0, 10, b, 20, 30, c, 10, 100)表示期望a在0到10之间,b在20到30之间,c在10到100之间。(最好是要分下组,后面要改进)
isFalse(...)如果为假,就返回true;否则,返回false
isEmpty(...)如果为空,就返回true;否则,返回false
setProto(obj, proto)设置obj原型为protoobj:必须为table及衍生类型;proto:必须为table及衍生类型;
seri(obj)将obj序列化(转成字符串返回)
unseri(obj_str)将obj_str反序列化(转成对象返回)