從桌子中返回值

*此內容是使用 AI(Beta 測試版)翻譯,可能含有錯誤。若要以英文檢視此頁面,請按一下這裡

許多資料結構的常見需求是返回值。此文章將探討使用 pairs()ipairs() 搜尋任何表元,例如鑰匙或值,以尋找並返回另一半。

範例使用了一個列出船隻等待修理的示例。 ipairs() 用於返回船隻的位置。


local shipToFind = "Void Racer"
-- 正在等待修理的船舶
local waitingShips = {"Battle Sun", "Void Racer", "The Big Slow"}
-- 獲得線路
local function getPlaceInLine(shipName)
for placeInLine, ship in ipairs(waitingShips) do
if ship == shipName then
return placeInLine
end
end
end
--列印位置
local placeInLine = getPlaceInLine(shipToFind)
print("Your place in line is " .. placeInLine)

典型搜尋範例

你有沒有在家中搜尋過丟失的寵物?在自己的代碼中,有一個名為 house 的函數可以搜尋通過一個名為 house 的字典來查看哪個房間有丟失的小狗。

  1. 複製下面的字典作為房屋。


    local house = {
    kitchen = "pile of Junk",
    livingRoom = "kitten",
    bedroom1 = "nobody there",
    bedroom2 = "puppy",
    }
  2. 創建名為 findPet() 的新函數來搜尋字典。包括搜尋字典的參數和搜尋值。

  3. 使用 pairs() 來在字典中掃索。試著先在解決方案下檢查您的工作。


    local function findPet(whereToSearch, searchFor)
    for place, value in pairs(whereToSearch) do
    end
    end
  4. 隨著 for 反復掃描字典,使用 return 來返回寵物在該寵物的房間。


    local function findPet(whereToSearch, searchFor)
    for place, value in pairs(whereToSearch) do
    if value == searchFor then
    return place
    end
    end
    end