Lua Table(陣列遍歷)

2021-09-25 09:48:00 字數 632 閱讀 8674

lua – table(陣列遍歷)

lua並不像其他語言一樣提供了array,list,set,queue等各種資料結構來完成各種不同資料操作,相比,lua只提供了一種資料結構 – table,可謂以不變應萬變了。

lua的table可以以整數和字串為下標,但是我們可以在乙個table中儲存各種資料,可以儲存資料,字串,函式,甚至表等各種結構,

整數索引

lua以整數為下標時,我們就可以像陣列一樣直接使用,其實lua底層,table是由兩部分組成的,一部分是陣列,用來儲存像整數下標的這些值,一部分用雜湊表來實現,用來儲存像字串這樣索引的值。lua對table的大小沒有限制,也就是說我們可以在使用過程中,在table中新增元素。

table1 =

print

(table1[0]

)-- nil

print

(table1[1]

)--10

可以看到訪問table1[0]返回nil,而table1[1]訪問表中第乙個值。當我們訪問表中不存在的值時會返回nil值,預設table下標是從1開始的,而不是我們熟悉的像其他語言中從0開始,table可以使用任意整數為下標。

c 遍歷lua table示例

c c 從棧上獲取lua壓棧過來的table資料 複製 如下 map tr erse table lua state l,int index 現在的棧 index table 最後 lua next 返回 0 的時候它已經把上一次留下的 給彈出了 所以棧已經恢復到進入這個函式時的狀態 return ...

lua table 元素刪除

在lua中,table移除元素出現的問題 說明 一般我們不在迴圈中刪除,在迴圈中刪除會造成一些錯誤。for i test,1 1do if remove test i then table.remove test,i end end 為什麼不從前往後,因為table.remove操作後,後面的元素會...

lua table 重要函式

1 求長度操作 a a 3 給table新增元素a a 1 d 2 table.concat table,sep,start,end 講從start開始到end的元素以sep作為分隔符鏈結成乙個整體 例 tbl print table.concat tbl,alpha beta gamma 3 ta...