如何将函数的所有结果存储到Lua中的单个变量中?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何将函数的所有结果存储到Lua中的单个变量中?相关的知识,希望对你有一定的参考价值。

我有

function foo()
    return a, b
end
x, y = foo() -- x == a, y == b
z = foo() -- z == a

有没有更简单的方法将ab(以及函数中的任何更多变量)转换为z作为数组?

z初始化z = {}不起作用,因为它只是将它重新定义为foo()的第一个结果。

答案

怎么样:

-- define the function
function foo()
    return "one", "two"
end
-- set z to a table of the return values of foo().  The first return
-- value will be z[1], the second one z[2], and so on.
z = {foo()}
-- print it out
for k,v in pairs(z) do
    print(k, v)
end

应得

1   one
2   two

这是你要找的东西吗?

以上是关于如何将函数的所有结果存储到Lua中的单个变量中?的主要内容,如果未能解决你的问题,请参考以下文章

Lua 变量

lua学习之深入函数第一篇

lua 变量

Lua_变量

将多个变量存储到单个文件中

每次访问变量时,如何在将结果存储在变量中后再次调用我的函数?