我有一个名为" inventory"的表,初始化如下:
inventory = {}
inventory[1] = { qty = 0 }
我想在索引1处向此表添加更多数据,例如:
val = { id = "example" }
inventory[1] = inventory[1], val
有没有办法可以在此索引中保留此表中已有的数据?
最终结果应该是:
inventory[1] = { qty = 0, id = "example" }
但是如果我在尝试这段代码后尝试打印id,我会得到:
print(inventory[1].id) == Nil
答案 0 :(得分:2)
inventory[1].id = "example"
或
inventory[1]["id"] = "example"
或
{p> this other SO answerfirst_table
为inventory[1]
且second_table
为val
。
FWIW,您需要在inventory[1] = inventory[1], val
的表达式左侧使用2个变量才能正常工作:a, b = x, y
。
答案 1 :(得分:0)
您需要获取表格中的第一个键并使用它:
local inventory = {}
inventory[1] = { qty = 0 }
local val = { id = "example" }
--
local KeyName = next(val)
inventory[1][KeyName] = val[KeyName]
print(inventory[1][KeyName])
-- or
print(inventory[1].id)