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...