主要掌握:
1>虚变量 --- 一个下划线
2>lua将函数的可变参数放在一个叫 arg 的表中,除了参数以外,arg表中还有一个域n表示参数的个数。
do
function fun(x, y, ...)
end fun() --- x = 1, y = nil, arg = {n = 0}
fun(,) --- x = 1, y = 2 , arg = {n = 0}
fun(,,,) --- x = 1, y = 2 , arg = {3, 4; n = 2}
end
如果一个函数是多值返回,我们不需要其全部的返回值,只需要其中的部分值,该如何做?
处理方式有一下三种:
1、定义对应数量的变量,一一接收,然后按需所取
2、用虚变量接收无用的返回值,定义新变量来接收所需要的值
3、利用函数的可变参数,定义一个方法,根据索引取需要的返回值
以下是示例代码:
do
tab = {, } fun = unpack; --返回tab中的所有元素 --现在我们只需要 fun 的第二个返回值
--做法有三 --1、定义对应数量的变量
a, b = fun(tab);
print(b) --2、用虚变量
_, x = fun(tab);
print(x) --3、利用函数的可变参数,定义一个方法
function select(n, ...)
return arg[n]
end
print(select(, fun(tab)))
end