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

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

หลังจากที่รันโค้ดแล้ว รหัสจากนั้นลูปจะตรวจสอบตัวแปรควบคุมและเริ่มใหม่

เมื่อตัวแปรควบคุมผ่านมูลค่าสุดท้ายแล้ว ลูปจะหยุดตัวอย่างเช่น หากลูปมีค่าสิ้นสุดเป็น 10 เมื่อตัวแปรควบคุมผ่าน 10 แล้วลูปจะหยุด

เขียนโค้ดนับถอยหลัง
เพื่อดูว่าลูป for ทำงานอย่างไร ให้ใช้ขั้นตอนเหล่านี้เพื่อเขียนลูป for ที่เริ่มต้นที่ 10 และนับถอยหลังสู่ 0 หนึ่งตัวเลขในแต่ละครั้งทุกครั้งที่ลูปทำงาน มันจะพิมพ์ค่าปัจจุบันภายในตัวแปรควบคุม
ใน ServerScriptService สร้างสคริปต์ใหม่ชื่อว่า PracticeLoop ในสคริปต์ เริ่มต้นด้วยการพิมพ์คีย์เวิร์ด for
forสร้างตัวแปรควบคุม ชื่อ และกำหนดค่าเริ่มต้นของ 10
for count = 10ตั้งค่า ค่าสิ้นสุด เป็น 0 โดยการพิมพ์ , 0 ให้แน่ใจว่ามีจุลภาคเพื่อแยกค่า
for count = 10, 0สร้างค่าเพิ่มขึ้น ของ -1 โดยการพิมพ์ แอ็คชันจะเพิ่มมูลค่าการเพิ่มขึ้นให้กับตัวแปรควบคุม นับเนื่องจากการเพิ่มขึ้นเป็นลบจึงจะถูกหักเมื่อเพิ่มลงในตัวแปรควบคุม
for count = 10, 0, -1เพื่อสิ้นสุดลูป for ให้พิมพ์ do และกด Enter เพื่อเพิ่ม endรหัสใดๆ ที่พิมพ์ระหว่าง do และ end จะทำงานทุกครั้งที่ลูปซ้ำ
for count = 10, 0, -1 doendภายในลูปสร้างการนับถอยหลังโดยการพิมพ์มูลค่าของตัวแปรควบคุม, count และจากนั้นชะลอการดำเนินการของสคริปต์ด้วยฟังก์ชันการรอคอย
for count = 10, 0, -1 do-- พิมพ์หมายเลขปัจจุบันที่อยู่ในลูป forprint(count)-- รอ 1 วินาทีtask.wait(1)endดำเนินโครงการและดูหน้าต่างเอาต์พุตเพื่อดูลูป for
รหัส การเลื่อนทําซ้ํา การหมุนเวียนคือกระบวนการที่สมบูรณ์ของการตรวจสอบค่าควบคุมตรวจรันโค้ดและอัปเดตค่าเพิ่มขึ้นเนื่องจากตัวแปรควบคุมเริ่มต้นที่ 0 และต้องผ่าน 10 จึงจะต้องผ่านการซ้ำ 11 ครั้งก่อนที่จะหยุด
เคล็ดลับการแก้ปัญหา
ในจุดนี้หากลูปไม่ทํางานตามที่ตั้งใจไว้ ลองหนึ่งในสิ่งต่อไปนี้
- ตรวจสอบว่าคุณมี จุลภาพสองตัว แยกหมายเลขในลูปของคุณ การมีจุลภาพเพิ่มเติมหรือขาดหายไปจะทำให้ลูปไม่เริ่ม
- หากลูป for พิมพ์ทั้งหมดในครั้งเดียว ตรวจสอบให้แน่ใจว่ามีฟังก์ชันการรอที่ใช้เวลาอย่างน้อย 1 วินาที
แตกต่างจากตัวอย่างลูป
การเปลี่ยนสามค่าของลูป for จะเปลี่ยนวิธีที่ลูปทำงานต่อไปนี้เป็นตัวอย่างที่แตกต่างกันสำหรับลูปที่มีค่าเริ่มต้น สิ้นสุด และเพิ่มขึ้นที่แตกต่างกันลองใส่ลงในสคริปต์และดูสิ่งที่เกิดขึ้น
นับขึ้นโดยหนึ่ง
for count = 0, 5, 1 doprint(count)task.wait(1)end
นับเป็นตัวเลขคี่
for count = 0, 10, 2 doprint(count)task.wait(1)end
ทั้งหมด
หากตัวแปรควบคุมเริ่มต้นออก เกิน มูลค่าสุดท้ายเช่นในตัวอย่างด้านล่าง, ลูป for จะไม่ทำงานเลย
for count = 10, 0, 1 doprint(count)task.wait(1)end
ในกรณีนี้ ลูป for จะนับขึ้นและตรวจสอบว่าจํานวนมากกว่า 0 หรือไม่เมื่อลูป for ทำการตรวจสอบครั้งแรก มันจะเห็นว่า 10 มากกว่า 0 ดังนั้นจึงจะหยุดลูปโดยไม่พิมพ์อะไร
สรุป
ลูป A เป็นลูปประเภททั่วไปที่ใช้เมื่อชุดคำสั่งควรทำซ้ำจํานวนเวลาที่กำหนดได้เพื่อสร้างลูป for ใช้สามตัวแปรด้วยสัญลักษณ์ด้านล่าง:
for count = 0, 10, 1 doprint(count)end
ในตัวอย่างด้านบน ลูปจะเริ่มที่ 0สำหรับแต่ละลูปจะพิมพ์ตัวแปร count เพิ่ม 1 เพื่อนับ และสุดท้ายจบลูปเมื่อ count เท่ากับ 10