Lua 特性

Posted DoGame

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Lua 特性相关的知识,希望对你有一定的参考价值。

1.轻量级:C语言编写 源码开放,编译后仅100多K,是一种比较好的嵌入式语言;

2.可扩展性:Lua提供易于使用的拓展接口和机制;

3.支持面向过程,自动内存管理;

4.Lua 数据类型:nil,boolean,number,string,userdata,function,table;

5.pairs 和ipairs 区别:

pairs:迭代table,遍历表中所有的KEY,可以返回nil;

ipairs:迭代数组,不能返回nil 遇到nil 则退出;

Lua 元表:使用元表我们可以定义Lua如何计算两个table的相加操作a+b

当Lua试图对两个表进行相加时,先检查两者之一是否有元表,之后检查是否有一个叫"__add"的字段,若找到,则调用对应的值。"__add"等即时字段,其对应的值(往往是一个函数或是table)就是"元方法"

_newindex 元方法

 

__newindex 元方法用来对表更新,__index则用来对表访问 。

当你给表的一个缺少的索引赋值,解释器就会查找__newindex 元方法:如果存在则调用这个函数而不进行赋值操作。

__call 元方法

__call 元方法在 Lua 调用一个值时调用。

__tostring 元方法

__tostring 元方法用于修改表的输出行为

 

以上是关于Lua 特性的主要内容,如果未能解决你的问题,请参考以下文章

Lua 特性

lua的一些语言特性

游戏开发在Lua中实现面向对象特性——模拟类继承多态

Lua特性和一些基础语法

lua table integer index 特性

lua特性纪要