Lua Table介紹與基礎操作

2021-10-18 03:24:48 字數 875 閱讀 1683

table是lua的一種資料結構用來幫助我們建立不同的資料型別

可以用任意型別的值來作陣列的索引,但這個值不能是 nil。

不固定大小的,你可以根據自己需要進行擴容。

table常用操作

構造器是建立和初始化表的表示式。表是lua特有的功能強大的東西。最簡單的建構函式是{},用來建立乙個空表。

初始化陣列 : table = {}

mytable[1]= "lua"

mytable = nil

tip:

當我們將table a賦值給 b,則 a 與 b 都指向同乙個記憶體。如果 a 設定為 nil ,而此時b同樣能訪問 table 的元素。那麼這裡不會進行記憶體**,反之則會進行記憶體**。

table.concat (table [, sep [, start [, end]]]):

concat是concatenate(連鎖, 連線)的縮寫. table.concat()函式列出引數中指定table的陣列部分從start位置到end位置的所有元素, 元素間以指定的分隔符(sep)隔開。

table.insert (table, [pos,] value):

在table的陣列部分指定位置(pos)插入值為value的乙個元素. pos引數可選, 預設為陣列部分末尾.

table.remove (table [, pos])

返回table陣列部分位於pos位置的元素. 其後的元素會被前移. pos引數可選, 預設為table長度, 即從最後乙個元素刪起。

table.sort (table [, comp])

對給定的table進行公升序排序。

自定義實現

for k, v in pairs(t)

do//邏輯**

end

lua table 的操作 四

table在前面作過介紹,它是一種關聯陣列,這種關聯指的是可以設定各類型別的key來儲存值。為 table a 並設定元素,然後將 a 賦值給 b,則 a 與 b 都指向同乙個記憶體位址 如果 a 設定為 nil 則 b 同樣能訪問 table 的元素。如果沒有指定的變數指向a,lua的垃圾 機制會...

lua table操作例項詳解

lua gettable lua getglobal l,mytable push mytable lua pushnumber l,1 push key 1 lua gettable l,2 pop key 1,push mytable 1 lua settable lua getglobal l...

lua table操作及math庫

1 table.concat table sep start end concat是concatenate 連鎖,連線 的縮寫.table.concat 函式列出引數中指定table的陣列部分從start位置到end位置的所有元素,元素間以指定的分隔符 sep 隔開。2table.insert ta...