Lua变长参数:
Lua支持变长参数,使用简单(借助于table、多重赋值), Lua中的函数还可以接受不同数量的实参。例如:在调用print时可以传入一个、两个或多个实参。参数中的三个点(...)表示该函数可接受不同数量的实参。当这个函数被调用时,它的所有参数都会被收集到一起,这部分收集起来的实参称为这个函数的“变长参数”。 一个函数要访问他的变长参数时,仍需要用到3个点(...),只是此时的3个点作为一个表达式来使用的(如上)。表达式“...”的行为类似于一个具有多重返回值的函数,它返回的是当前函数的所有变长参数。
代码示例
通常在遍历变长参数的时候只需要使用{…},然而变长参数可能会包含一些nil;那么就可以用select函数来访问变长参数了:select('#', …)或者 select(n, …)
select('#', …)返回可变参数的长度,select(n,…)用于访问n到select('#',…)的参数
代码如下: