- Lua 教程
- Lua - 首页
- Lua 基础
- Lua - 概述
- Lua - 环境
- Lua - 基本语法
- Lua - 注释
- Lua - 打印 Hello World
- Lua - 变量
- Lua - 数据类型
- Lua - 运算符
- Lua - 循环
- Lua - 决策
- Lua - 函数
- Lua - 日期和时间
- Lua 数组
- Lua - 数组
- Lua - 多维数组
- Lua - 数组长度
- Lua - 数组迭代
- Lua 迭代器
- Lua - 迭代器
- Lua 列表
- Lua - 列表搜索
- Lua 模块
- Lua - 模块
- Lua - 命名空间
- Lua 元表
- Lua - 元表
- Lua 协程
- Lua - 协程
- Lua 文件处理
- Lua - 文件 I/O
- Lua 库
- Lua - 标准库
- Lua - 数学库
- Lua - 操作系统功能
- Lua 有用资源
- Lua - 快速指南
- Lua - 有用资源
- Lua - 讨论
Lua - 数组迭代
在 Lua 中,我们可以使用 `pairs()` 和 `ipairs()` 函数迭代数组。这两个函数都返回键值对,其中键是元素的索引,值是数组中该索引处存储的元素。
语法
for key,value in ipairs(array) do print(key,value) end
for key,value in pairs(array) do print(key,value) end
键 - 索引
值 - 存储在数组相应索引中的值
数组 - 数组
示例 - 使用 `pairs()` 方法
创建一个名为 main.lua 的新源文件,并将以下代码粘贴到其中以使用 `pairs()` 方法迭代数组。
main.lua
array = {"a", "b", "c", "d", "e", "f"} array["last"] = "end" for key,value in pairs(array) do print(key,value) end
输出
1 a 2 b 3 c 4 d 5 e 6 f last end
示例 - 使用 `ipairs()` 方法
创建一个名为 main.lua 的新源文件,并将以下代码粘贴到其中以使用 `ipairs()` 方法迭代数组。
main.lua
array = {"a", "b", "c", "d", "e", "f"} array["last"] = "end" for key,value in ipairs(array) do print(key,value) end
输出
1 a 2 b 3 c 4 d 5 e 6 f
您可以注意到,如果索引是非数字,则 `ipairs` 会拒绝该条目。
示例 - 使用自定义迭代器
我们可以创建自己的迭代器来迭代数组。考虑以下返回迭代器的函数。
function getValues(array) local i = 0 return function() i = i + 1; return array[i] end end
我们可以在 `for` 循环中使用此函数,如下所示。
for value in getValues(array) do print(value) end
以下是完整的代码。
main.lua
function getValues(array) local i = 0 return function() i = i + 1; return array[i] end end array = {"a", "b", "c", "d", "e", "f"} for value in getValues(array) do print(value) end
输出
a b c d e f
广告