table中的函式

2021-05-28 00:54:44 字數 1394 閱讀 5771

concat是concatenate的縮寫(連線,連鎖)table.concat()列出tb中數字部分start到end部分的所有元素,其間可以用sep分隔。出了table以外,其他三個引數不是必須的,sep預設是空字串,start為1,end為table的陣列部分的長度。

sep、start、end雖然不是必須的引數,但是如果指定了靠後的引數,必須同時指定前面的引數。

tb=;

print("";     ---輸出 沒有x=「weiyu"和y="like",因為這兩項不是table的陣列部分

table.insert()是在tb的指定pos插入乙個value(可以是任何東西,如表),pos可選,預設是tb 的尾部。。

tb=table.insert(tb,"beyond")

print("")   --

table.insert(tb,1,"beyond")

print("")   --

b=table.insert(tb,1,b)

for k,v in pairs(tb) do

if type(v) == "table" thend

for kk, vv in pairs(v) do

print("k:"..kk.."  v:"..vv)

endelse

print("k:"..k.."  v:"..v)

endend           --先遍歷表b在遍歷表tb

table.maxn(tb)返回tb中所有正數key(非連續的)中最大的key值,如果不存在key值為正數的元素,則返回0,此函式不限於tbale 的陣列部分。

tb=print(#tb)    --7           [11]和之前的陣列部分不連續,所有不算在陣列部分。

print(table.maxn(tb))   --11        

table.remove(tb,pos)從tb中指定的pos刪除並返回table中陣列部分pos位置的元素,其後的元素被前移,pos可選,預設從表的末尾刪除。

tb=print(table.remove(tb))   --返回刪除位置的元素  8

table.sort()對指定的表進行公升序排序。

a=print("")   --

table.sort(a)  --公升序排序

print("")  --  非陣列部分不進行排序(不連續的陣列也不排序)

comp是可選引數,是外部函式,定義排序標準。

此函式應該滿足以下條件:接受2個引數(a,b)返回乙個bool,當a應該排在b前面時返回true,反之返回false。

如降序排序

a=comp=functin(a,b) return ba為公升序,可以構造出更複雜的排序函式

table.sort(a,comp)

print("")   --

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