Lua - 数组长度



通常约定,数组的大小是在数组中nil之前存在的元素的数量。在许多情况下,数组中不允许出现nil,但对于某些应用程序来说,在数组中包含nil并不是问题。

如果我们在数组中允许 nil 值,那么我们必须有一些函数来显式地设置数组的大小。

Lua 为我们提供了一个函数来获取数值索引数组的大小:

  • getn - 用于获取数值索引数组的大小。

语法

n = table.getn (t)
  • t - 数组

  • n - 数组的大小

getn() 方法返回数值索引表的长度。表的长度是第一个值为 nil 的整数索引减 1。如果表中存在索引序列的间隙,则表的大小不保证是最后一个间隙。Lua 使用二分查找来查找间隙,并且可能不是第一个或最后一个间隙。

示例

main.lua

print(table.getn{10,2,4})
--> 3
print(table.getn{10,2,nil})
--> 2
print(table.getn{10,2,nil; n=3})
--> 3
print(table.getn{n=1000})
--> 0

输出

3
2
3
0

示例

请参考以下示例:

main.lua

n = table.getn { "welcome", "to", "tutorialspoint", "com", name = "Mahesh" } --> 4
print(n)

-- use # to get length of the array
n = # { "welcome", "to", "tutorialspoint", "com" } --> 4
print(n)

输出

4
4
广告