如何透過值複製 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 千+ 瀏覽量

啟動你的 生涯

透過完成課程來獲得認證

開始
廣告
© . All rights reserved.