Lua 将VAR从表a复制到表b,保留b';s现有密钥

Lua 将VAR从表a复制到表b,保留b';s现有密钥,lua,lua-table,Lua,Lua Table,我试图将源表的内容复制到dest表,覆盖相同的键,保留不同的键不变。我搞砸了几件事,但弄不明白。有人能帮我吗 local source = { version = 1, nest = { a = 5, b = 1, c = 0 }, } local dest = { version = 0, doesNotChange = 9, nest = { a = 0, b = 0, c = 0, d = "does n

我试图将源表的内容复制到dest表,覆盖相同的键,保留不同的键不变。我搞砸了几件事,但弄不明白。有人能帮我吗

local source = {
  version = 1,
  nest = {
    a = 5,
    b = 1,
    c = 0
    },
}

local dest = {
  version = 0,
  doesNotChange = 9,
  nest = {
    a = 0,
    b = 0,
    c = 0,
    d = "does not change"
  },
}
你可以用一个简单的方法来实现你想要的

循环将迭代sourceTable中的所有键,并将相应的值指定给destinationTable。由于您只索引sourceTable的键,因此无法覆盖destinationTable中具有唯一键的字段,但可以覆盖两个表中存在的字段,并添加仅存在于sourceTable中的新字段

for k,v in pairs(sourceTable) do

  destinationTable[k] = v

end

看看詹姆斯的答案,太棒了,谢谢。我真不敢相信我自己没发现。