函数可变参数 ...
如果传入1,2,3。 3个参数
用#打印arg长度为3
如果用ipairs遍历arg的值,得到的是1,2,3
但如果用pairs遍历arg的值,得到的却是1,2,3,3,最后一位为长度
用变量接收 ... 以后 , 用pairs遍历 , 却是1,2,3
这样为什么#打印出来的长度不为4 , 用变量接收之后发生了什么??
test(1,2,3)
function test(...)
print(#arg) --长度为3
for k,v in pairs(arg) do
print(v)--得到结果1,2,3,3
end
for k,v in ipairs(arg) do
print(v)--得到结果1,2,3
end
local var = {...}
for k,v in pairs(var) do
print(v)--得到结果1,2,3
end
end