导读 迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。

在 Lua 中迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素。Lua 中的迭代器可以分为泛型 for 迭代器、无状态的迭代器和多状态的迭代器。

泛型for迭代器

说明
泛型 for 在自己内部保存迭代函数,实际上它保存三个值:迭代函数、状态常量、控制变量。泛型 for 迭代器提供了集合的 key/value 对。

语法

for k, v in pairs(t) do
    print(k, v)
end
案例

泛型for迭代器
泛型 for 迭代器遍历数组

#!/usr/bin/lua
print("haicoder(www.haicoder.net)\n")
array = {"Hello", "HaiCoder", "Lua"}
for k, v in ipairs(array)
do
   print(string.format("Key = %d, Value = %s", k, v))
end

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

我们可以看到,我们使用了泛型 for 迭代器遍历了数组元素。

Lua迭代器总结

迭代器(iterator)是一种对象,它能够用来遍历标准模板库容器中的部分或全部元素,每个迭代器对象代表容器中的确定的地址。

在 Lua 中迭代器是一种支持指针类型的结构,它可以遍历集合的每一个元素。Lua 中的迭代器可以分为泛型 for 迭代器、无状态的迭代器和多状态的迭代器。

泛型 for 在自己内部保存迭代函数,实际上它保存三个值:迭代函数、状态常量、控制变量。泛型 for 迭代器提供了集合的 key/value 对。

原文来自:https://haicoder.net/lua/lua-iterator.html

本文地址:https://www.linuxprobe.com/lua-iterator.html编辑:薛鹏旭,审核员:逄增宝

Linux命令大全:https://www.linuxcool.com/

Linux系统大全:https://www.linuxdown.com/

红帽认证RHCE考试心得:https://www.rhce.net/