Lua数据类型:

值类型:nil,number,boolean,string

引用类型:table,function,userdata,thread

pairs vs ipairs

pairs:可遍历整个表,如果有key,会输出key:val,顺序随机

ipairs:从key1开始遍历,按照连续整数升序遍历key,如果找不到下一个对应的key或val为nil则中断

元表(Metatable)的作用

元表通过元方法,实现重载操作符,继承等特性

Lua 中的userdata是什么

userdata是用户自定义的数据,可以将c c++的任意数据结构的数据存入lua变量并调用,它允许lua与c语言的数据结构进行交互,但lua并不知道数据结构内部是什么,userdata实际上是一个指向内存中某个c语言数据结构的指针

主要作用是数据共享:将c的数据结构的指针传给lua,可以实现lua访问操作这些数据

拓展功能:把c语言的函数或方法绑定到userdata上,可以让lua实现原本无法实现的功能

性能优化

require的顺序:

lua虚拟机在文件里找对应的文件,找到后装在lua虚拟机

执行一遍文件内的方法

把文件最后return的东西返回回去

如果重复require,不会多次执行文件,而是返回缓存里的结果

Logo

AtomGit 是由开放原子开源基金会联合 CSDN 等生态伙伴共同推出的新一代开源与人工智能协作平台。平台坚持“开放、中立、公益”的理念,把代码托管、模型共享、数据集托管、智能体开发体验和算力服务整合在一起,为开发者提供从开发、训练到部署的一站式体验。

更多推荐