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 {....}
List:这个对象,为lua添加了方便好用的列表操作API。
Dict:这个对象,为lua添加了方便好用的字典操作API。
Set:这个对象,为lua添加了方便好用的集合操作API。
T:这个函数,为lua中生成一个可以使用面向对象语法的table对象提供的支持。
第三个工作,主要新增了以下全局辅助函数:
判断table系对象类型中具体的类型
typename(t) 返回'List', 'Dict', 'Set', 'Table', nil中的一种
判断对象是否为list
isList(t) 如果是list,就返回true;否则,返回false
判断对象是否为dict
isDict(t) 如果是dict,就返回true;否则,返回false
判断对象是否为set
isSet(t) 如果是set,就返回true;否则,返回false
打印一层table内容
ptable(t)
打印两层table内容
pptable(t)
打印完整对象内容(参数可以为任意对象,不局限于table)
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之间。(最好是要分下组,后面要改进)
判断是否为假,对所有对象适用。一般用于nil值,数值0的判断
isFalse(...) 如果为假,就返回true;否则,返回false
判断是否为空,对所有对象适用。一般用于字符串,表格的判断
isEmpty(...) 如果为空,就返回true;否则,返回false
设置对象的原型
setProto(obj, proto) 设置obj原型为proto
obj: 必须为table及衍生类型;
proto: 必须为table及衍生类型;
对象序列化
seri(obj) 将obj序列化(转成字符串返回)
反序列化对象
unseri(obj_str) 将obj_str反序列化(转成对象返回)
分享到:
相关推荐
2022年中国酒店香氛行业概览.pdf 2022年中国酒店香氛行业概览.pdf 2022年中国酒店香氛行业概览.pdf 2022年中国酒店香氛行业概览.pdf 2022年中国酒店香氛行业概览.pdf 2022年中国酒店香氛行业概览.pdf 2022年中国酒店...
2022年中国城市度假酒店行业概览.pdf 2022年中国城市度假酒店行业概览.pdf 2022年中国城市度假酒店行业概览.pdf 2022年中国城市度假酒店行业概览.pdf 2022年中国城市度假酒店行业概览.pdf 2022年中国城市度假酒店...
在这个压缩包中,"车联网平台数据概览"可能是主入口文件,它可能包含一系列子页面,分别展示不同维度的数据,如车辆性能统计、交通流量分析、用户行为报告等。用户可以通过这些页面深入探索车联网平台提供的各种洞察...
【药明康德】2024年上半年中国创新药领域亮点概览白皮书.pdf【药明康德】2024年上半年中国创新药领域亮点概览白皮书.pdf【药明康德】2024年上半年中国创新药领域亮点概览白皮书.pdf【药明康德】2024年上半年中国创新...
爬虫基础知识概览.txt爬虫基础知识概览.txt爬虫基础知识概览.txt爬虫基础知识概览.txt爬虫基础知识概览.txt爬虫基础知识概览.txt爬虫基础知识概览.txt爬虫基础知识概览.txt爬虫基础知识概览.txt爬虫基础知识概览.txt...
2022年中国云电脑增长逻辑解析概览(摘要版).pdf 2022年中国云电脑增长逻辑解析概览(摘要版).pdf 2022年中国云电脑增长逻辑解析概览(摘要版).pdf 2022年中国云电脑增长逻辑解析概览(摘要版).pdf 2022年中国云...
课程设计大作业大屏数据可视化上市公司全景概览数据可视化源码,案例 - 上市公司全景概览 综合使用条形图、柱状图、折线图、饼图、地图、数字翻牌器来实现一个常规的大屏数据可视化项目。 项目案例 - 上市公司地域...
2022年中国工业互联网在供应链中的应用概览:持续赋能.pdf 2022年中国工业互联网在供应链中的应用概览:持续赋能.pdf 2022年中国工业互联网在供应链中的应用概览:持续赋能.pdf 2022年中国工业互联网在供应链中的...
电子系列概览:2019年中国柔性显示屏行业概览
2022年中国稀土行业概览.pdf 2022年中国稀土行业概览.pdf 2022年中国稀土行业概览.pdf 2022年中国稀土行业概览.pdf 2022年中国稀土行业概览.pdf 2022年中国稀土行业概览.pdf 2022年中国稀土行业概览.pdf 2022年中国...
【Shopee】2024泰国电商市场概览.pdf【Shopee】2024泰国电商市场概览.pdf【Shopee】2024泰国电商市场概览.pdf【Shopee】2024泰国电商市场概览.pdf【Shopee】2024泰国电商市场概览.pdf【Shopee】2024泰国电商市场概览...
2021年中国车载OS行业概览:汽车迈向智能化的基石
2021年中国CIM行业概览.pdf
本文档是一份关于ABB工业机器人二次开发语言RAPID的技术参考手册,名为“技术参考手册—RAPID语言概览.pdf”。文档编号为3HAC050947-010,版本为RobotWare 6.02,修订版本为B。文档的编写日期为2015年10月22日,使用...
Tornado Web 服务器概览 详细文档
20210228-头豹研究院-2021年中国二手奢侈品行业概览.pdf
2021年中国车载显示器行业概览.pdf
2022年中国酒店室内设计行业概览.pdf 2022年中国酒店室内设计行业概览.pdf 2022年中国酒店室内设计行业概览.pdf 2022年中国酒店室内设计行业概览.pdf 2022年中国酒店室内设计行业概览.pdf 2022年中国酒店室内设计...
数字2022全球概览报告:世界互联行为基本指南 本报告为数字2022全球概览报告,旨在提供世界互联行为的基本指南。报告由Simon Kemp,Kepios的CEO所编写,旨在为读者提供全球数字发展的最新趋势和数据。 报告摘要: ...