1. 用"..."来表示
functionadd(...)
local s = 0
for i, v in ipairs{...} do
s = s + v
end
return s
end
print(add(1,2, 3, 4, 5)) -- 15
2. 变长参数可用来初始化:
functionadd(...)
local a, b,c = ...
print(a..","..b..","..c)
end
print(add(1,2, 3))
3. select可用来操作变成参数中的某个参数
functionadd(...)
for i = 1, select('#', ...) do
local arg = select(i, ...)
print(arg)
end
end
print(add(1,2, 3, nil, 4)) --输出1 2 3 nil 4
4. 参数是根据前后位置来的,忘记前后了,可以传入一个表:
functionrename(arg)
os.rename(arg.old, arg.new)
end
rename{new= "Name2.lua", old = "Name1.lua"}