- 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 - 列表搜尋
當我們想要迭代一個專案以查詢特定值時,我們通常使用 for 迴圈。這始終是最直觀的方法,也是推薦的方法。
讓我們來看一個例子,其中我們在 Lua 中儲存了一個水果列表,然後我們想要檢查特定水果是否存在於其中。為此,最原生且高效的方法是迭代列表元素並將其中的每個元素與我們正在查詢的元素進行比較。這種技術或方法也稱為線性搜尋。
示例
考慮以下示例:
main.lua
local fruits = { "apple", "orange", "pear", "banana" }
for _, fruit in pairs(fruits)
do
if fruit == "pear" then
do
print("We Found it!")
break
end
else print("Oh no, keep traversing!")
end
end
輸出
Oh no, keep traversing! Oh no, keep traversing! We Found it!
雖然上述方法執行良好,但建議使用集合而不是遍歷列表。
示例
以下示例使用我們可以使用的**集合**方法,它執行良好。考慮以下示例:
main.lua
function Set (list)
local set = {}
for _, l in ipairs(list)
do
set[l] = true
end
return set
end
local fruits = Set { "apple", "orange", "pear", "banana" }
if fruits["pear"] then
do
print("Present in the set")
end
end
輸出
Present in the set
廣告