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