如何按值复制 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的表,我们稍后将它作为参数传递给名为named的函数,该函数返回我们传递的同一个表的副本,最后我打印了这些表中的值以检查复制的表准确与否。table.table_copy()
输出结果
mukul true 23 mukul true 23