在Lua中使用带有可变参数的pcall函数。

我正在寻找一种在 lua5.3 中 pcall 具有可变参数的函数的方法。

我希望像这样的东西

function add(...)
local sum=arg + ...
return sum
end

stat,err=pcall(add,...)

谢谢

点赞
用户2726734
用户2726734
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
2015-08-18 15:12:54