我正在寻找一种方法来实现一个在lua5.3中具有可变参数的函数。
我希望有类似的东西
function add(...)
local sum=arg + ...
return sum
end
stat,err=pcall(add,...)
感谢
答案 0 :(得分:6)
function add(...)
local sum = 0
for _, v in ipairs{...} do
sum = sum + v
end
return sum
end
pcall(add, 1, 2, 3)
--> true 6
或者这可能更接近你想要的东西:
function add(acc, ...)
if not ... then
return acc
else
return add(acc + ..., select(2, ...))
end
end
pcall(add, 1, 2, 3)
--> true 6