hand
_1_34_19
4
返回栏目
1k
2k
1k
2k
1k
1k
2k
2k
2k
2k
2k
2k
3k
3k
2k
2k
2k
1k
2k
2k
2k
2k
2k
2k
2k
2k
1k
1k
1k
2k
1k
1k
2k
1k
2k
2k
2k
2k
2k
2k
2k
1k
2k
2k
2k
2k
2k
3k
2k
2k
6k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
2k
3k
2k
2k
2k
2k
2k
3k
3k
3k
1k
3k
3k
5k
2k
2k
2k
1k
1k
2k
2k
1k
1k
1k
2k
2k
2k
2k
2k
2k
2k
2k
3k
2k
2k
2k
2k
3k
3k
2k
2k
2k
2k
4k
2k
3k
2k
3k
2k
3k
2k
3k
2k
2k
2k
3k
返回Lua栏目
作者:
贺及楼
成为作者
更新日期:2025-02-27 21:42:37
在 Lua 语言里,表(table)是一种非常强大且灵活的数据结构,它可以用来表示数组、字典、集合等多种数据类型。本文将详细介绍 Lua 表的插入、删除和遍历元素操作,帮助大家更好地掌握表的使用。
在 Lua 中,表是一种动态的数据结构,使用大括号 {}
来创建。表的索引可以是整数、字符串或其他 Lua 值。例如:
-- 创建一个空表
local emptyTable = {}
-- 创建一个带有初始元素的表
local myTable = {10, 20, 30}
在 Lua 中,向表中插入元素有多种方式,下面分别介绍。
可以使用 table.insert
函数按顺序向表中插入元素。如果不指定插入位置,元素将被插入到表的末尾。
local myTable = {10, 20, 30}
-- 在表的末尾插入元素
table.insert(myTable, 40)
for i, v in ipairs(myTable) do
print(i, v)
end
上述代码中,table.insert(myTable, 40)
将元素 40
插入到 myTable
的末尾。运行结果如下:
1 10
2 20
3 30
4 40
table.insert
函数还可以指定插入位置。例如,将元素插入到表的第二个位置:
local myTable = {10, 20, 30}
-- 在第二个位置插入元素
table.insert(myTable, 2, 15)
for i, v in ipairs(myTable) do
print(i, v)
end
运行结果:
1 10
2 15
3 20
4 30
除了使用 table.insert
函数,还可以通过直接赋值的方式向表中插入元素。
local myTable = {10, 20, 30}
-- 直接赋值插入元素
myTable[4] = 40
for i, v in ipairs(myTable) do
print(i, v)
end
运行结果与按顺序插入的例子相同。
删除表中的元素也有多种方法,下面进行介绍。
table.remove
函数table.remove
函数可以删除表中指定位置的元素,并返回被删除的元素。如果不指定位置,默认删除表的最后一个元素。
local myTable = {10, 20, 30, 40}
-- 删除最后一个元素
local removedValue = table.remove(myTable)
print("Removed value:", removedValue)
for i, v in ipairs(myTable) do
print(i, v)
end
运行结果:
Removed value: 40
1 10
2 20
3 30
local myTable = {10, 20, 30, 40}
-- 删除第二个元素
local removedValue = table.remove(myTable, 2)
print("Removed value:", removedValue)
for i, v in ipairs(myTable) do
print(i, v)
end
运行结果:
Removed value: 20
1 10
2 30
3 40
nil
删除可以通过将指定索引的元素赋值为 nil
来删除该元素。
local myTable = {10, 20, 30, 40}
-- 删除第三个元素
myTable[3] = nil
for k, v in pairs(myTable) do
print(k, v)
end
运行结果:
1 10
2 20
4 40
遍历表中的元素是常见的操作,Lua 提供了不同的遍历方式。
ipairs
遍历ipairs
用于遍历以连续整数为索引的表,从索引 1 开始,遇到第一个 nil
元素时停止。
local myTable = {10, 20, 30}
for i, v in ipairs(myTable) do
print(i, v)
end
运行结果:
1 10
2 20
3 30
pairs
遍历pairs
可以遍历表中的所有元素,包括非连续整数索引和字符串索引的元素。
local myTable = {10, 20, 30}
myTable["name"] = "John"
for k, v in pairs(myTable) do
print(k, v)
end
运行结果可能如下(索引顺序不固定):
1 10
2 20
3 30
name John
操作类型 | 方法 | 描述 |
---|---|---|
插入元素 | table.insert(table, value) |
按顺序在表的末尾插入元素 |
插入元素 | table.insert(table, pos, value) |
在指定位置 pos 插入元素 |
插入元素 | table[index] = value |
直接赋值插入元素 |
删除元素 | table.remove(table) |
删除表的最后一个元素 |
删除元素 | table.remove(table, pos) |
删除指定位置 pos 的元素 |
删除元素 | table[index] = nil |
通过赋值为 nil 删除指定索引的元素 |
遍历元素 | for i, v in ipairs(table) do... end |
遍历以连续整数为索引的表 |
遍历元素 | for k, v in pairs(table) do... end |
遍历表中的所有元素 |
通过本文的介绍,相信大家对 Lua 表的插入、删除和遍历元素操作有了更深入的理解。在实际编程中,可以根据具体需求选择合适的操作方法。
Lua
整章节共127节
快分享给你的小伙伴吧 ~