lua 中 … 在参数列表中意为”可变参数”,这个可变是指,通过这个可以输入很多参数,但是不需要一一列举出来!~
例子:
function a(...)
local a1 ,a2,a3,a4 = ...
print("this is local num=",a1,a2,a3,a4)
return a1, a2, a3, a4
end
local at1,at2,at3,at4 = a(1,2,3,4)
print("this is the function result=",at1,at2,at3,at4)
输出:
this is local num=1 2 3 4
this is the function result=1 2 3 4
在函数内通过表访问可变参数,把可变参数放入表内
function rest(...)
-- 把可变参数放在表类
local args = { ... }
print(#args)
end
print(rest(1, 2, 3))
‘#’ 操作符表示得到数组的长度
输出:
3
放在顶部的可变长参数
在一些lua文件中可以在头部看到local A,B = …,这种参数是通过命令行等其他外部环境传入的参数,如:
-- A.lua文件
local A, B =...
print(A, B)
输出:
1 2
在shell或者命令行中调用
lua A.lua 1 2