Lua中table库函数详解

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

table.concat()函数列出table中数组部分从下表start到end的所有元素,元素中间以字符sep隔开,默认字符为空字符,其中table参数必填,其余三个参数可以不填。

例:

t={"first","blog"}

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

输出结果:

first blog


table.insert(table,pos,value)

table.insert()函数在table里指定位置pos插如一个值为value的元素,但效率比较低,推荐自己遍历插入

例:

t={1,2,3,4,5}
print(t[2])
table.insert(t,2,0)

print(t[2])

输出结果:

2

0


table.remove(table,pos)

table.remove()函数删除table里边位置为pos的元素,元素删除后,后边元素的位置往前移,通过遍历调用remove()的话,会出现table遍历不完整的问题,类似迭代器失效,需要注意。

例:

t={1,2,3,4,5}
print(t[2])
table.remove(t,2)

print(t[2])

输出结果:

2

3


#table和table.maxn(table)的区别

#table返回连续下标的最大值,table.maxn()返回table中所有元素下标的最大值

例:

t={1,2,3,4,[20]=5}
print(#t)

print(table.maxn(t))

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

table.sort(table,func())

用来对table的排序

例:

t={1,2,3,4,[20]=5}

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

结果:

表t={4,3,2,1,[20]=5}


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

分别是得到table的长度和设置table的长度,用的不多

你可能感兴趣的:(Lua)