我正在尝试将源表的内容复制到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"
},
}
答案 0 :(得分:2)
您可以使用generic for statement来达到您想要的效果。
循环将遍历sourceTable中的所有键,并将相应的值指向destinationTable。由于您只索引sourceTable的键,因此您无法覆盖具有唯一键的destinationTable字段,但您会覆盖两个表中存在的字段并添加仅存在于sourceTable中的新字段。
for k,v in pairs(sourceTable) do
destinationTable[k] = v
end