Lua 可变参数之arg与select

 function TestFunc(...)
local arg = { ... } --Lua .2以后不再支持默认arg参数,{}与...之间要有空格
print("输入的参数个数:".. #arg)
for i, v in ipairs(arg) do
print(v)
end
end
print("***************************************");
function TestFunc2(...)
print("输入的参数个数:".. select('#', ...))
local count = select('#', ...);
for i = , count do
num = select(i, ...)
print(num)
end
end
TestFunc(, , , , nil, ) --输出结果
TestFunc2(, , , , nil, ) --输出结果 nil

通过代码可以得出结论:

1.ipairs函数遇到nil停止输出

2.把ipairs换成pairs 发现,输出结果是1 3 5 7 9,得出结论pairs会过滤到nil

3.select(index,...)函数的作用是返回从第i个开始的所有元素,并且会输出nil

上一篇:dotnet core调试docker下生成的dump文件


下一篇:php 简单说明IoC (php 实例+注释)