【问题标题】:Copy vars from table a to table b retaining b's existing keys将 vars 从表 a 复制到表 b 并保留 b 的现有键
【发布时间】:2017-12-07 10:42:36
【问题描述】:

我正在尝试将源表的内容复制到目标表,覆盖相同的键并保持不同的键不变。我搞砸了一些事情,但无法弄清楚。有人可以帮帮我吗?

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"
  },
}

【问题讨论】:

标签: lua lua-table


【解决方案1】:

您可以使用generic for statement 来实现您想要的。

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

for k,v in pairs(sourceTable) do

  destinationTable[k] = v

end

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-11-12
    • 2021-10-06
    • 2016-03-29
    • 1970-01-01
    • 1970-01-01
    • 2020-07-15
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多