- unpack()
unpack()该函数接受一个数组作为参数,并从小标1开始返回该数组的所有元素 - select()函数
该函数用于提取变长参数中的元素,select(参数1,…)。如果参数1是一个整数n,则select()函数会返回…变长参数中的第n个元素值;如果不是数字,那么参数1只能是字符#,这时候select()函数将会返回变长参数的个数,如果变长参数中有nil值,返回的个数也会包括这个值
- require加载
在lua中可以利用require方法加载相应的模块,利用这个特性可以使得工程更容易维护和开发。
- 面向对象开发
可以通过定义new方法和setmetatable()方法来实现对一个类的定义
function testClass : new(0,arg1)
o = o or {}
setmetatable(o,self)
self.__index = self
self.arg1 = arg1
return o
end
testClassModel = testClass:new(nil,10)
在这段代码中的testClassModel就是testClass类的一个对象。
对于类的继承,也可以根据这个特性来实现
Derived = testClass:new()
function Dervied : new(o,arg1)
o = o or testClass:new(o,arg1)
setmetatable(o,self)
self.__index = self
return o
end