如何按值复制 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