lua ... 可变长参数

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

你可能感兴趣的:(Lua)