当前位置 : 主页 > 网络编程 > lua >

在lua中使用变量参数的pcall

来源:互联网 收集:自由互联 发布时间:2021-06-23
我正在寻找一种方法来实现一个在lua5.3中具有可变参数的函数. 我希望有这样的事情 function add(...)local sum=arg + ...return sumendstat,err=pcall(add,...) 谢谢 function add(...) local sum = 0 for _, v in ipair
我正在寻找一种方法来实现一个在lua5.3中具有可变参数的函数.

我希望有这样的事情

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

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

谢谢

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
网友评论