คืนค่าจากตาราง

*เนื้อหานี้แปลโดยใช้ 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)

ตัวอย่างการค้นหาสารานุกรม

คุณเคยค้นหาสัตว์เลี้ยงที่หายไปในบ้านไปห้องต่อห้องหรือไม่? ในรหัสของคุณเองฟังก์ชันเพื่อค้นหาผ่านสารานุกรมชื่อบ้านเพื่อดูห้องที่มีลูกสุนัขที่หายไป

  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