如何将带有变量参数的pcall在Lua中改写成长尾?
- 内容介绍
- 文章标签
- 相关推荐
本文共计187个文字,预计阅读时间需要1分钟。
我正在寻找一种方法来实现一个在lua 5.3中具有可变参数的函数。我希望有类似以下这样的功能:
luafunction add(...) local sum=0 for _, v in ipairs(arg) do sum=sum + v end return sumend
stat, err=pcall(add, ...)
谢谢!
我正在寻找一种方法来实现一个在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
本文共计187个文字,预计阅读时间需要1分钟。
我正在寻找一种方法来实现一个在lua 5.3中具有可变参数的函数。我希望有类似以下这样的功能:
luafunction add(...) local sum=0 for _, v in ipairs(arg) do sum=sum + v end return sumend
stat, err=pcall(add, ...)
谢谢!
我正在寻找一种方法来实现一个在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

