Lua表中插入额外数据

我有一个名为 "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
点赞
用户459750
用户459750
将以下代码翻译成中文并保留原本的markdown格式, 

inventory [1] .id =“example”


或者

inventory [1] [“id”] =“example”

```

或者

[这篇stackoverflow答案] (https://stackoverflow.com/questions/1283388/lua-merge-tables)其中“first_table”是“inventory [1]”,“second_table”为 val“。

顺便说一句,如果要让inventory [1] = inventory [1],val这个语法正确,则需要左侧的表达式有两个变量:a,b = x,y

2018-03-13 16:55:47
用户7504558
用户7504558

你需要从表格中取出第一个键并使用它:

local inventory = {}
inventory[1] = { qty = 0 }
local val = { id = "example" }

--

local KeyName = next(val)

inventory[1][KeyName] = val[KeyName]

print(inventory[1][KeyName])
-- 或者
print(inventory[1].id)
2018-03-13 17:31:34