Lua迭代器

大雄45發表於2022-07-26
導讀 迭代器(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()\n")
array = {"Hello", "HaiCoder", "Lua"}
for k, v in ipairs(array)
do
   print(string.format("Key = %d, Value = %s", k, v))
end

程式執行,控制檯輸出,如下圖:

Lua迭代器Lua迭代器

我們可以看到,我們使用了泛型 for 迭代器遍歷了陣列元素。

Lua迭代器總結

迭代器(iterator)是一種物件,它能夠用來遍歷標準模板庫容器中的部分或全部元素,每個迭代器物件代表容器中的確定的地址。

在 Lua 中迭代器是一種支援指標型別的結構,它可以遍歷集合的每一個元素。Lua 中的迭代器可以分為泛型 for 迭代器、無狀態的迭代器和多狀態的迭代器。

泛型 for 在自己內部儲存迭代函式,實際上它儲存三個值:迭代函式、狀態常量、控制變數。泛型 for 迭代器提供了集合的 key/value 對。

原文來自:


來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69955379/viewspace-2907544/,如需轉載,請註明出處,否則將追究法律責任。

相關文章