将表a中的变量复制到表b中并保留b中原有的键值

我正在尝试将源表的内容复制到目标表中,覆盖相同的键,并保留不同的键。我已经做了一些尝试,但无法解决。有人可以帮我吗?

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"
  },
}
点赞
用户2858170
用户2858170

你可以使用通用的for语句来实现你想要的操作。

循环将遍历源表中的所有键,并将相应的值分配给目标表。由于你只索引源表的键,因此无法覆盖目标表具有唯一键的字段,但是你会覆盖两个表中都存在的字段,并添加新字段,这些字段仅存在于源表中。

for k,v in pairs(sourceTable) do

  destinationTable[k] = v

end
2017-07-04 10:24:56