Lua學習筆記之table

2021-08-03 12:33:04 字數 426 閱讀 7784

零散知識點記錄

table的拷貝是淺拷貝,若要深拷貝a=b則需要遍歷b中的元素,並將其一一對應賦值給a。

乙個table剛初始化時,是沒有metatable的,必須通過setmetatable給table賦予metatable,table才有metatable。所以若想直接用table()來初始化乙個table a,需要自定義乙個擁有自定義的__call函式的table b,再用setmetatable(a,b)來賦予a乙個metatable b。

class = {}

m = {}

function

m:__call

( ... )

-- body

endsetmetatable(class, m)

3.

lua學習筆記之淺淡table

table型別實現了關聯陣列 associative array 關聯陣列是一種具有特殊索引方式的陣列。不僅可以通過整數來索引它,還可以使用字串或其他型別的值 除了nil 來索引它。此外talbe沒有固定的大小。可以動態地新增任意數量的元素到乙個table中。基於table可以以一種簡單,統一和高效...

Lua 之table的測試

1.字串作為table索引 法1.mytable 法2.mytable 法3.mytable mytable.x xixi 法4.mytable mytable x xixi 注 當使用數字字串作為索引的時候 如 10 法1 錯誤 mytable 法2 mytable 法3 錯誤 mytable m...

lua之table的使用

本文對從資料結構,儲存和使用三個角度對lua之table的使用進行小結。資料結構 table是lua的一種資料結構,可以用來存放各種型別的元素,例如可以建立陣列和字典,以及二者混合的資料結構,例如 a 陣列 b 字典 c 陣列元素和字典元素混合 儲存 lua的table使用陣列和雜湊表結合的方式,使...