Kebutuhan umum dalam banyak struktur data adalah untuk mengembalikan nilai. Artikel ini akan membahas cara mencari sebuah tabel menggunakan pairs() atau ipairs() untuk setengah dari elemen tabel, seperti kunci atau nilai, untuk menemukan dan mengembalikan setengah lainnya.
Contoh ini menggunakan array yang mencantumkan kapal yang sedang menunggu untuk diperbaiki. ipairs() digunakan untuk mengembalikan posisi kapal dalam antrean.
local shipToFind = "Void Racer"
-- Kapal yang menunggu untuk diperbaiki
local waitingShips = {"Battle Sun", "Void Racer", "The Big Slow"}
-- Dapatkan posisi dalam antrean
local function getPlaceInLine(shipName)
for placeInLine, ship in ipairs(waitingShips) do
if ship == shipName then
return placeInLine
end
end
end
-- Cetak posisi dalam antrean
local placeInLine = getPlaceInLine(shipToFind)
print("Posisi Anda dalam antrean adalah " .. placeInLine)
Contoh pencarian kamus
Apakah Anda pernah mencari hewan peliharaan yang hilang di rumah dengan berjalan dari kamar ke kamar? Tulis fungsi sendiri untuk mencari melalui kamus yang dinamakan rumah untuk melihat kamar mana yang menyimpan anak anjing yang hilang.
Salin kamus di bawah ini untuk bertindak sebagai rumah.
local house = {kitchen = "tumpukan Sampah",livingRoom = "kucing",bedroom1 = "tidak ada orang",bedroom2 = "anak anjing",}Buat fungsi baru bernama findPet() untuk mencari kamus. Sertakan parameter untuk kamus mana yang dicari, dan nilai apa yang dicari.
Gunakan pairs() untuk mengiterasi melalui kamus. Cobalah untuk mengkodekan sendiri sebelum memeriksa pekerjaan Anda dalam solusi di bawah ini.
local function findPet(whereToSearch, searchFor)for place, value in pairs(whereToSearch) doendendSaat loop for mengiterasi melalui kamus, gunakan return untuk mengembalikan kamar di mana hewan peliharaan ditemukan.
local function findPet(whereToSearch, searchFor)for place, value in pairs(whereToSearch) doif value == searchFor thenreturn placeendendend