如何将带有变量参数的pcall在Lua中改写成长尾?

2026-04-01 20:371阅读0评论SEO资源
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计187个文字,预计阅读时间需要1分钟。

如何将带有变量参数的pcall在Lua中改写成长尾?

我正在寻找一种方法来实现一个在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中具有可变参数的函数.

如何将带有变量参数的pcall在Lua中改写成长尾?

我希望有这样的事情

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分钟。

如何将带有变量参数的pcall在Lua中改写成长尾?

我正在寻找一种方法来实现一个在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中具有可变参数的函数.

如何将带有变量参数的pcall在Lua中改写成长尾?

我希望有这样的事情

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