如何像这样合并两个表?- Lua

我有这些表格设置如下

local tableone = {["Gold"] = 10, ["Gem"] = 5}
local tabletwo = {["Level"] = 1}

这是合并的代码

local test = {tableone, tabletwo}
print(test)

但如果我尝试合并这些表格,那么输出就像这样

[1] = {
   ["Gold"] = 10,
   ["Gem"] = 5
},
[2] =  {
   ["Level"] = 1
}

我想要的输出是像这样的

[1] = {
   ["Gold"] = 10,
   ["Gem"] = 5,
   ["Level"] = 1
}

这可行吗?对不起,如果我解释得不太好。

点赞
用户3574628
用户3574628

你可以通过简单的嵌套循环来实现这个。

function merge(...)
  local result = {}
  -- 对于每个源表
  for _, t in ipairs{...} do
    -- 对于 t 中的每对键值对
    for k, v in pairs(t) do
      result[k] = v
    end
  end
  return result
end

local t = {merge(tableone, tabletwo)}

我将结果放在表的构造函数中,是因为问题中的 [1]

2021-08-18 22:30:04