Lua 数组
Lua 没有单独的数组类型,数组通常用 table 表示。只要你用连续整数作为 key,就可以把 table 当成数组使用。
Lua 习惯从下标 1 开始:
main.lua
local colors = {"red", "green", "blue"}
print(colors[1])
print(colors[2])
print(colors[3])
输出:
red
green
blue
创建数组
最常见写法是:
main.lua
local values = {10, 20, 30}
print(values[1])
print(values[2])
print(values[3])
数组元素也可以逐个赋值:
main.lua
local values = {}
values[1] = 10
values[2] = 20
values[3] = 30
print(values[1], values[2], values[3])
获取数组长度
对连续数组,可以使用 #:
main.lua
local values = {10, 20, 30}
print(#values)
输出:
3
遍历数 组
使用数值 for:
main.lua
local values = {10, 20, 30}
for i = 1, #values do
print(i, values[i])
end
输出:
1 10
2 20
3 30
使用 ipairs():
main.lua
local values = {10, 20, 30}
for index, value in ipairs(values) do
print(index, value)
end
输出同样是:
1 10
2 20
3 30
添加和删除元素
可以使用 table.insert() 和 table.remove():
main.lua
local values = {10, 20}
table.insert(values, 30)
table.insert(values, 1, 5)
print(table.concat(values, ", "))
local removed = table.remove(values)
print("removed:", removed)
print(table.concat(values, ", "))
输出:
5, 10, 20, 30
removed: 30
5, 10, 20