- 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
廣告