我怎样才能像这样合并两个表? - Lua

How can I merge two tables like this? - 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
}

这可能吗? 对不起,如果我不善于解释。

您可以使用简单的嵌套循环来完成此操作。

local function merge(...)
  local result <const> = {}
  -- For each source table
  for _, t in ipairs{...} do
    -- For each pair in t
    for k, v in pairs(t) do
      result[k] = v
    end
  end
  return result
end

local t <const> = {merge(tableone, tabletwo)}

由于问题中的 [1],我将结果放在 table 构造函数中。