Lua表的功能十分强大,几乎能存储Lua中的所有数据类型。在Lua编程中经常会对表进行一些操作,Lua内建了一些操作表的函数,通过它们可以极大的提高编程效率。
一、getn
getn函数用于获取表的长度,等同于一元操作符#
,其语法为:
我们来看如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13
| local t = {1,2,3,4} print(table.getn(t)) print(#t) print()
local t = {1,2,nil,3,4} print(table.getn(t)) print(#t) print()
local t = {1,2,k='v',3,4} print(table.getn(t)) print(#t)
|
其执行结果为:
可以看到getn函数只对普通值有效。
二、maxn
maxn函数用于获取表元素的最大索引号,其语法如下:
我们来看如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13
| local t = {1,2,3,4} print(table.maxn(t)) print(#t) print()
local t = {1,2,nil,3,4} print(table.maxn(t)) print(#t) print()
local t = {1,2,k='v',3,4} print(table.maxn(t)) print(#t)
|
其执行结果为:
三、sort
sort函数用于对表元素进行排序,其语法为:
我们来看如下代码:
1 2 3 4 5 6 7 8 9 10 11 12 13
| local t = {4,3,2,1} table.sort(t) for k,v in pairs(t) do print(k,v) end print()
local t = {4,3,a='a',b='b',aa='aa',ab='ab',2,1} table.sort(t) for k,v in pairs(t) do print(k,v) end
|
其执行结果为:
1 2 3 4 5 6 7 8 9 10 11 12 13
| 1 1 2 2 3 3 4 4
1 1 2 2 3 3 4 4 b b ab ab a a aa aa
|
四、concat
concat函数用于将表元素连接成字符串
五、insert
insert函数用于向表中插入元素
六、remote
remote函数用于从表中删除元素