在Lua中求出Table的长度
Lua中的Table是一种动态的数据结构,它可以存储任意类型的数据,它的长度也是可以变化的。要求出Table的长度,可以使用Lua中的内置函数table.getn()或者#table。
使用table.getn()
table.getn()函数可以返回Table中的元素个数,它只能用于有序的Table,也就是Table中的元素必须是以数字为索引的,并且从1开始,依次递增。例如:
local t = {1, 2, 3, 4, 5} local len = table.getn(t) print(len) -- 5
上面的代码中,我们创建了一个Table,使用table.getn()函数求出Table的长度,结果是5。
使用#table
#table也可以用来求出Table的长度,它可以用于有序的Table和无序的Table,但是如果Table中有nil值,则会出现问题。例如:
local t = {1, 2, nil, 4, 5} local len = #t print(len) -- 3
上面的代码中,Table中有nil值,使用#t求出Table的长度是3,但是实际上Table中有5个元素,所以在使用#t求Table长度时,需要注意Table中是否有nil值。
在Lua中,可以使用table.getn()函数或者#table来求出Table的长度,但是需要注意的是table.getn()函数只能用于有序的Table,而#table则可以用于有序的Table和无序的Table,但是如果Table中有nil值,则会出现问题。