如何通过值复制 Lua 表?


复制一个表意味着我们需要另一个表中存在的一个表的所有值或对。在 Lua 中,没有用于创建这样一个表的标准库函数,但我们可以创建自己的函数。

让我们在 Lua 中创建一个函数,该函数将一个表作为参数,并将创建一个新表,它将是作为函数参数传递的表的精确副本。

示例

参考下面显示的示例 −

 在线演示

a = {}
a["name"] = "mukul"
a["age"] = 23
a["isWorking"] = true
function table.table_copy(t)
   local t2 = {}
   for k,v in pairs(t) do
      t2[k] = v
   end
   return t2
end
copy = table.table_copy(a)
for _,v in pairs(a) do print(v) end
for _,v in pairs(copy) do print(v) end

在上面的示例中,我们有一个名为 **a** 的表,稍后我们将它作为参数传递给名为 **table.table_copy()** 的函数,该函数返回我们传递的相同表的副本,最后我打印了这些表中的值以检查复制的表是否准确。

输出

mukul
true
23
mukul
true
23

更新于: 20-Jul-2021

1 千+ 浏览量

启动你的 生涯

通过完成课程来获得认证

开始
广告