Lua数组长度

Lua数组长度教程

Lua 中,我们要获取 数组 的可以使用 ## 后面直接加数组名即可获取该数组的长度。如果我们设置了数组的索引从 0 开始,那么使用 # 获取的数组的长度会比实际的长度少一。

Lua数组长度详解

语法

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))

程序运行后,控制台输出如下:

09_Lua数组长度.png

我们首先,创建了一个有七个元素的数组 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))

程序运行后,控制台输出如下:

10_Lua数组长度.png

这次,我们数组的索引是从 0 开始的,我们发现数组一共有七个元素,但返回的长度却是 6。

数组最后的元素为nil

如果数组最后的元素为 nil,那么不会算在长度内

#!/usr/bin/lua print("haicoder(www.haicoder.net)\n") days = {"Monday", "Tuesday", "Wednesday", nil, nil, nil} print(string.format("Len days = %d", #days))

程序运行后,控制台输出如下:

11_Lua数组长度.png

如果数组的最后的元素为 nil,不管几个,这些 nil 都不会被计算在数组的长度之内。

数组元素中间有nil

如果数组中间有元素为 nil,那么会算在长度内

#!/usr/bin/lua print("haicoder(www.haicoder.net)\n") days = {"Monday", "Tuesday", nil, "Wednesday"} print(string.format("Len days = %d", #days))

程序运行后,控制台输出如下:

12_Lua数组长度.png

如果数组元素中间有 nil,这些 nil 是会被计算在数组的长度之内的。

Lua数组长度总结

在 Lua 中,我们要获取数组的可以使用 ## 后面直接加数组名即可获取该数组的长度。如果我们设置了数组的索引从 0 开始,那么使用 # 获取的数组的长度会比实际的长度少一。