如何在表中存储多个返回值

3
我试图将多个返回值存储在表中。 GetStatus() 是一个将返回两个值的函数。
错误报告显示“=' 预期附近有 ','”。我认为这是因为逗号被用于分隔表中的元素。
我该如何解决这个问题?谢谢!
以下是我的代码:
    local status = {
        ["a"],["b"] = GetStatus();
    }
2个回答

2
表格构造器实际上不支持这样的多重赋值。先创建表格,然后在赋值。
local status = {}
status.a, status.b = GetStatus()

0
你可以直接从多个返回值创建和分配一个表格,就像这样:
status = table.pack(GetStatus())
这将把结果放在status [1],status [2]等中。
如果您需要字符串作为键,则必须使用:
t = table.pack(GetStatus()) status = { ['a'] = t [1],['b'] = t [2] }

谢谢。我刚开始使用Lua。我对table.method和table[key]感到困惑。我知道它们是不同的东西。但为什么在某些情况下我们要使用其中一个而不是另一个呢? - G1ooom

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接