คู่และคู่จัดลำดับ

*เนื้อหานี้แปลโดยใช้ AI (เวอร์ชัน Beta) และอาจมีข้อผิดพลาด หากต้องการดูหน้านี้เป็นภาษาอังกฤษ ให้คลิกที่นี่

หลายสคริปต์จะต้องการการวนลูบผ่านพจนานุกรมหรืออาร์เรย์บ่อยครั้ง แต่บางครั้งคุณอาจไม่ทราบจุดเริ่มต้นและจุดสิ้นสุดของโครงสร้างข้อมูลเหล่านี้ ตัวอย่างเช่น,พจนานุกรมของผู้เล่นอาจเปลี่ยนแปลงได้ หรือผู้เล่นอาจมีทรัพย์สินอาร์เรย์ที่มีขนาดแตกต่างกัน

ในสถานการณ์เหล่านี้,คุณสามารถใช้ pairs() และ ipairs() ได้ สามารถใช้ร่วมกับลูป for เพื่อวนลูบแต่ละองค์ประกอบโดยไม่จำเป็นต้องรู้จุดเริ่มต้นและจุดสิ้นสุด

บทความนี้จะครอบคลุมการใช้งานพวกเขา,并且จะมีตัวอย่างสคริปต์ที่สร้างขึ้นจริงซึ่งคุณติดตามการสั่งซุปในเกมทำอาหาร

พจนานุกรมและ pairs()

pairs() ใช้กับ พจนานุกรม ตัวอย่างด้านล่าง


local myDictionary = {
["ผู้เล่นสีน้ำเงิน"] = "อานา",
["ผู้เล่นสีทอง"] = "บินห์",
["ผู้เล่นสีแดง"] = "เคท",
}
for key, value in pairs(myDictionary) do
print(key .. " คือ " .. value)
end

pairs() สามารถใช้ทำงานกับคีย์ ค่า หรือทั้งคู่ขององค์ประกอบในพจนานุกรม ในลูป for ด้านล่าง ตัวแปรแรกคือคีย์ ตัวแปรที่สองคือค่า พจนานุกรมที่คุณต้องการทำงานด้วยจะถูกส่งไปยัง pairs()


local inventory = {
["อิฐทอง"] = 43,
แครอท = 3,
คบไฟ = 2,
}
print("คุณมี:")
for itemName, itemValue in pairs(inventory) do
print(itemValue, itemName)
end

เมื่อดำเนินการ,โค้ดจะแสดงผลดังนี้:


คุณมี:
43 อิฐทอง
3 แครอท
2 คบไฟ

อาร์เรย์และ ipairs()

ipairs() ใช้กับ อาร์เรย์ ตัว "i" ใน ipairs() หมายถึง "ดัชนี" ใช้ ipairs() และอาร์เรย์ร่วมกับลูป for เพื่อทำงานกับค่าที่จัดลำดับ เช่น ตารางคะแนน ตัวอย่างดังนี้


local players = {"อาลี", "เบน", "แคมมี่"}
for playerRank, playerName in ipairs(players) do
print("ผู้ชนะ #" .. playerRank .. " คือ " .. playerName)
end

เมื่อดำเนินการ,โค้ดจะแสดงผลดังนี้:


ผู้ชนะ #1 คือ อาลี
ผู้ชนะ #2 คือ เบน
ผู้ชนะ #3 คือ แคมมี่

ฝึกปฏิบัติ - ซุปที่ร้านอาหารจำลอง

สร้างซุปสำหรับร้านอาหารจำลองที่ผู้เล่นเลือกจากรายการส่วนผสมซุปที่เป็นไปได้ ส่วนผสมจะถูกเก็บเป็นคีย์ และค่าจะเริ่มต้นด้วย false ดังนั้นผู้เล่นจะได้รับเฉพาะสิ่งที่พวกเขาเลือก

ใช้ pairs() เพื่อตรวจสอบสิ่งที่ถูกเลือก,然后ใช้ ipairs() เพื่อแสดงรายการส่วนผสม

  1. สร้าง พจนานุกรม ใหม่ชื่อ menu เพิ่มคู่คีย์-ค่าจำนวน 3 - 5 คู่ โดยคีย์เป็นส่วนผสมและค่าเป็น false


    local menu = {
    กะหล่ำปลี = false,
    เนื้อ = false,
    มะเขือเทศ = false,
    บะหมี่ = false,
    }
  2. ใต้พจนานุกรมเมนู,เพิ่ม อาร์เรย์ว่าง ซึ่งจะถูกเติมด้วยตัวเลือกของลูกค้าในภายหลัง


    -- ซุปของลูกค้า
    local selectedIngredients = {}
  3. ใช้ pairs() เพื่อตรวจสอบว่าส่วนผสมแต่ละอย่างในพจนานุกรมถูกทำเครื่องหมายว่า true หรือ false หากเป็น true ให้เพิ่มส่วนผสมลงในซุป


    -- ซุปของลูกค้า
    local selectedIngredients = {}
    -- เพิ่มตัวเลือกของลูกค้าไปยังซุปของพวกเขา
    for menuChoice, value in pairs(menu) do
    if value then
    table.insert(selectedIngredients, menuChoice)
    end
    end
  4. ทวนคำสั่งกลับไปยังลูกค้า ในสคริปต์,เขียนโค้ดต่อไปนี้ด้านล่าง

    • ตรวจสอบว่ามีรายการในเมนูใน selectedIngredients หรือไม่ หากมีให้แสดงผลว่า "คุณสั่งซุปด้วย: "
    • ใช้ ipairs() เพื่อลูบผ่านอาร์เรย์ selectedIngredients และแสดงแต่ละส่วนผสม
    • ทดสอบโดยการเปลี่ยนรายการเมนูอย่างน้อย 1 รายการให้เป็น true

    -- แสดงคำสั่งซุปจาก "selectedIngredients"
    if #selectedIngredients > 0 then
    print("คุณสั่งซุปด้วย: ")
    for index, soupIngredient in ipairs(selectedIngredients) do
    print(soupIngredient)
    end
    end
  5. ใน if statement ที่ตรวจสอบว่ามีรายการในเมนูเพิ่มเงื่อนไข else ที่บอกลูกค้าว่าไม่มีส่วนผสมใดถูกเลือก


    if #selectedIngredients > 0 then
    print("คุณสั่งซุปด้วย: ")
    for index, soupIngredient in ipairs(selectedIngredients) do
    print(soupIngredient)
    end
    else
    print("ไม่มีอะไรถูกเลือก คุณไม่หิวเหรอ?")
    end

ความท้าทายเพิ่มเติม

ด้านล่างนี้คือความท้าทายบางประการที่ใช้ pairs และ ipairs ในรูปแบบที่แตกต่างกัน ลองดูว่าคุณสามารถสร้างโค้ดสำหรับสิ่งเหล่านี้ได้หรือไม่

ความท้าทาย: สร้าง NPC พนักงานเสิร์ฟ
แทนที่จะใช้หน้าต่างผลลัพธ์,ใช้ NPC จาก แนะนำเกี่ยวกับอาร์เรย์ เพื่อสร้างพนักงานเสิร์ฟเพื่อรับคำสั่งจากลูกค้า

ความท้าทาย: อนุญาตให้ผู้เล่นสั่งซื้อ
อนุญาตให้ผู้เล่นเลือกส่วนผสมโดยแตะส่วนที่เป็นจริง เช่น คำชี้แจงใกล้เคียง สำหรับข้อมูลเพิ่มเติม,ดูที่ คำชี้แจงใกล้เคียง

ความท้าทายขั้นสูง: สร้างซุปจำลอง
สร้างร้านอาหารจำลองที่ผู้เล่นเป็นเชฟ! ผู้เล่นจะต้องรวบรวมส่วนผสมให้ตรงกับคำสั่งที่พวกเขาได้รับจากพนักงานเสิร์ฟ

  1. สร้างพร็อพในเกมสำหรับส่วนผสมที่แตกต่างกันจำนวน 3 - 5 อย่าง
  2. สร้างสูตร 3 - 5 สูตรโดยใช้พจนานุกรมคล้ายกับสูตรในบทเรียนนี้
  3. สร้างอาร์เรย์ที่เก็บสูตรทั้งหมด
  4. เลือกสูตรแบบสุ่มและใช้ NPC บอกผู้เล่นว่าส่วนผสมคืออะไร
  5. สร้างพจนานุกรมใหม่เพื่อสร้างสูตรจากส่วนผสมพร็อพที่ผู้เล่นแตะ
  6. เปรียบเทียบสูตรของผู้เล่นกับสูตรที่เลือกโดย NPC
  7. เพิ่มความท้าทายด้วยการเพิ่มเงื่อนไขเพิ่มเติมเช่น ตัวจับเวลา
©2026 Roblox Corporation. Roblox, โลโก้ Roblox และ Powering Imagination เป็นส่วนหนึ่งของเครื่องหมายการค้าที่จดทะเบียน และไม่ได้จดทะเบียนของเราในสหรัฐฯ และประเทศอื่นๆ