Lua - 按值複製表



複製表意味著我們想要將一個表中存在的所有值或鍵值對複製到另一個表中。在 Lua 中,沒有標準庫函式可以用來建立這樣的表,但我們可以建立自己的函式來實現。

讓我們建立一個 Lua 函式,該函式將一個表作為引數,並建立一個新表,該新表將是傳遞給函式的引數表的精確副本。

示例

請參考以下示例:

main.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
廣告
© . All rights reserved.