Lua中table庫函式詳解

2021-08-20 23:47:37 字數 1157 閱讀 2855

table.concat(table,sep,start,end)

table.concat()函式列出table中陣列部分從下表start到end的所有元素,元素中間以字元sep隔開,預設字元為空字元,其中table引數必填,其餘三個引數可以不填。

例:t=

print(table.concat( t, " ", 1, 2 ))

輸出結果:

first blog

table.insert(table,pos,value)

table.insert()函式在table裡指定位置pos插如乙個值為value的元素,但效率比較低,推薦自己遍歷插入

例:t=

print(t[2])

table.insert(t,2,0)

print(t[2])

輸出結果:20

table.remove(table,pos)

table.remove()函式刪除table裡邊位置為pos的元素,元素刪除後,後邊元素的位置往前移,通過遍歷呼叫remove()的話,會出現table遍歷不完整的問題,類似迭代器失效,需要注意。

例:t=

print(t[2])

table.remove(t,2)

print(t[2])

輸出結果:23

#table和table.maxn(table)的區別

#table返回連續下標的最大值,table.maxn()返回table中所有元素下標的最大值

例:t=

print(#t)

print(table.maxn(t))

#t的值為4,table.maxn(t)的值為20

table.sort(table,func())

用來對table的排序

例:t=

table.sort(t,function(a,b) return a>b end)

結果:表t=

table.getn(table),table,setn(table,n)

分別是得到table的長度和設定table的長度,用的不多

Lua中的table函式庫

一部分的table函式只對其陣列部分產生影響,而另一部分則對整個table均產生影響.下面會分開說明.table.concat table,sep,start,end concat是concatenate 連鎖,連線 的縮寫.table.concat 函式列出引數中指定table的陣列部分從star...

Lua中的table函式庫

一部分的table函式只對其陣列部分產生影響,而另一部分則對整個table均產生影響.下面會分開說明.table.concat table,sep,start,end concat是concatenate 連鎖,連線 的縮寫.table.concat 函式列出引數中指定table的陣列部分從star...

Lua中的table函式庫

一部分的table函式只對其陣列部分產生影響,而另一部分則對整個table均產生影響.下面會分開說明.table.concat table,sep,start,end concat是concatenate 連鎖,連線 的縮寫.table.concat 函式列出引數中指定table的陣列部分從star...