【发布时间】:2017-01-01 01:47:52
【问题描述】:
我试图在一个表中存储多个返回值。 GetStatus() 是一个返回 2 个值的函数。
错误报告者说 '=' 应该在 ',' 附近。我认为这是因为逗号用于分隔表格中的元素。
我该如何解决这个问题?谢谢!
我的代码如下:
local status = {
["a"],["b"] = GetStatus();
}
【问题讨论】:
标签: lua
我试图在一个表中存储多个返回值。 GetStatus() 是一个返回 2 个值的函数。
错误报告者说 '=' 应该在 ',' 附近。我认为这是因为逗号用于分隔表格中的元素。
我该如何解决这个问题?谢谢!
我的代码如下:
local status = {
["a"],["b"] = GetStatus();
}
【问题讨论】:
标签: lua
表构造函数实际上并不支持这样的多重赋值。先建表,后赋值
local status = {}
status.a, status.b = GetStatus()
【讨论】:
您可以直接从多个返回值创建和分配表,如下所示:
status = table.pack(GetStatus())
这会将结果放入状态[1]、状态[2]等中。
如果您需要字符串作为键,则必须使用:
t = table.pack(GetStatus()) 状态 = { ['a'] = t[1], ['b'] = t[2] }
【讨论】: