Tablolardan dönüş değerleri

*Bu içerik, yapay zekâ (beta) kullanılarak çevrildi ve hatalar içerebilir. Sayfayı İngilizce görüntülemek için buraya tıkla.

Birçok veri yapısında ortak bir ihtiyaç, değerleri geri dönmektir.Bu makale, anahtar veya değer gibi herhangi bir tablo elemanının yarısını aramak için pairs() veya ipairs() kullanarak bir tabloyu arayacaktır, diğer yarısını bulmak ve geri dönmek için.

Örnek, onarılmak üzere bekleyen bir dizi listeleyen gemileri kullanır. ipairs() bir geminin sıraya yerleştirilmesi için kullanılır.


local shipToFind = "Void Racer"
-- Onarım bekleyen gemiler
local waitingShips = {"Battle Sun", "Void Racer", "The Big Slow"}
-- Sırada yer almak
local function getPlaceInLine(shipName)
for placeInLine, ship in ipairs(waitingShips) do
if ship == shipName then
return placeInLine
end
end
end
--Satırda yer basın
local placeInLine = getPlaceInLine(shipToFind)
print("Your place in line is " .. placeInLine)

Sözlük arama örneği

Hiç evde odalara göre kayıp bir evcil hayvan aradınız mı? Kendi kodunuzda, evin adında bir sözlük arayan bir işlev, hangi odada kayıp köpek bulunduğunu görmek için.

  1. Ev olarak hareket etmek için aşağıdaki sözlüğü kopyala.


    local house = {
    kitchen = "pile of Junk",
    livingRoom = "kitten",
    bedroom1 = "nobody there",
    bedroom2 = "puppy",
    }
  2. Sözlüğü aramak için yeni bir işlev oluştur findPet(), sorgu için hangi sözlüğün aranacağı ve ne değerin aranacağı için parametreler ekleyin.

  3. Dizin üzerinden döngü geçmek için pairs() kullanın. Aşağıdaki çözümde çalışmanızı kontrol etmeden önce kendinizi kodlamayı deneyin.


    local function findPet(whereToSearch, searchFor)
    for place, value in pairs(whereToSearch) do
    end
    end
  4. Döngü kütüphaneyi dolaştığında, evcil hayvanın bulunduğu odayı geri göndermek için return kullanın.


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