テーブルから値を返す

*このコンテンツは、ベータ版のAI(人工知能)を使用して翻訳されており、エラーが含まれている可能性があります。このページを英語で表示するには、 こちら をクリックしてください。

多くのデータ構造で共通の必要性は、値を返すことです。このアイテムでは、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)

辞書検索の例

家の中を部屋ごとに探していますか?自分のコードで、家の中の辞書の名前である家を検索して、どの部屋に失われた子犬があるかを見るための関数を作成しました。

  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