多くのデータ構造で共通の必要性は、値を返すことです。この記事では、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)
辞書検索の例
家の部屋ごとに失われたペットを検索したことがありますか? 自分のコードで、家という名前の辞書を通して検索して、どの部屋に失われた子犬が保管されているかを見る機能を持っています。
以下の辞書をコピーして、家として機能させます。
local house = {kitchen = "pile of Junk",livingRoom = "kitten",bedroom1 = "nobody there",bedroom2 = "puppy",}findPet() という新しい関数を作成して、辞書を検サーチします。検索する辞書と検索する値のパラメータを含めます。
pairs() を使用して、辞書を反復します。ソリューションの下で作業をチェックする前に、自分でコードを書いてみてください。
local function findPet(whereToSearch, searchFor)for place, value in pairs(whereToSearch) doendendfor ループが辞書を繰り返している間、return を使用して、ペットが見つかった部屋を戻します。
local function findPet(whereToSearch, searchFor)for place, value in pairs(whereToSearch) doif value == searchFor thenreturn placeendendend