在 Lua 中,我们要获取 数组 的可以使用 #
,#
后面直接加数组名即可获取该数组的长度。如果我们设置了数组的索引从 0 开始,那么使用 #
获取的数组的长度会比实际的长度少一。
len = #arr
参数 | 描述 |
---|---|
arr | 数组名。 |
len | 返回的数组的长度。 |
使用 #
后面加数组名即可获取数组的长度。
获取数组的长度
#!/usr/bin/lua
print("haicoder(www.haicoder.net)\n")
days = {"Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}
print(string.format("Len Arr = %d", #days))
程序运行后,控制台输出如下:
我们首先,创建了一个有七个元素的数组 days,最后,我们使用了 #
加数组名的形式获取了数组的长度。
如果数组开始索引从 0 开始,那么数组长度会减一
#!/usr/bin/lua
print("haicoder(www.haicoder.net)\n")
days = {[0]="Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"}
print(string.format("Len days = %d", #days))
程序运行后,控制台输出如下:
这次,我们数组的索引是从 0 开始的,我们发现数组一共有七个元素,但返回的长度却是 6。
如果数组最后的元素为 nil,那么不会算在长度内
#!/usr/bin/lua
print("haicoder(www.haicoder.net)\n")
days = {"Monday", "Tuesday", "Wednesday", nil, nil, nil}
print(string.format("Len days = %d", #days))
程序运行后,控制台输出如下:
如果数组的最后的元素为 nil,不管几个,这些 nil 都不会被计算在数组的长度之内。
如果数组中间有元素为 nil,那么会算在长度内
#!/usr/bin/lua
print("haicoder(www.haicoder.net)\n")
days = {"Monday", "Tuesday", nil, "Wednesday"}
print(string.format("Len days = %d", #days))
程序运行后,控制台输出如下:
如果数组元素中间有 nil,这些 nil 是会被计算在数组的长度之内的。
在 Lua 中,我们要获取数组的可以使用 #
,#
后面直接加数组名即可获取该数组的长度。如果我们设置了数组的索引从 0 开始,那么使用 #
获取的数组的长度会比实际的长度少一。