เมื่อพูดถึงการเขียนโปรแกรม หนึ่งในสิ่งที่สำคัญไม่แพ้กันกับการเขียนโค้ดให้ถูกต้องก็คือการใช้โครงสร้างควบคุมที่เหมาะสมกับสถานการณ์ของโค้ดนั้นๆ หนึ่งในนั้นก็คือการใช้งานลูป โดยเฉพาะ do-while loop ซึ่งในบทความนี้ เราจะทำความรู้จักกับ do-while loop ในภาษา Lua อย่างลึกซึ้งพร้อมทั้งตัวอย่างโค้ด และ usecase ในโลกจริงที่จะทำให้คุณเข้าใจว่าลูปชนิดนี้มีประโยชน์อย่างไร
do-while loop คืออะไร?
do-while loop ในภาษาการเขียนโปรแกรม Lua เป็นโครงสร้างควบคุมที่ทำงานซ้ำๆ เช่นเดียวกับ while loop แต่ที่แตกต่างก็คือ do-while loop จะทำการประมวลผลใน block ของโค้ดก่อนหนึ่งครั้ง และจากนั้นจึงตรวจสอบเงื่อนไขว่าจะทำต่อหรือไม่ ซึ่งหมายความว่าการทำงานในลูปจะทำอย่างน้อยหนึ่งครั้งเสมอ ไม่ว่าเงื่อนไขจะเป็นจริงหรือไม่
การใช้งาน do-while loop ใน Lua
Lua เป็นภาษาโปรแกรมที่ง่ายต่อการเรียนรู้และใช้งาน ลูป do-while ของ Lua เขียนได้ง่ายๆ ดังนี้:
repeat
-- โค้ดที่ต้องการทำซ้ำ
until not เงื่อนไข
ให้สังเกตว่า Lua ใช้ `repeat ... until` แทน `do ... while` ที่ภาษาอื่นๆ ใช้ ซึ่งก็สื่อความหมายเดียวกันคือ "ทำโค้ดภายในลูปนี้ซ้ำไปเรื่อยๆ จนกว่าเงื่อนไขจะไม่จริงอีกต่อไป"
ตัวอย่างโค้ด
local number = 0
repeat
number = number + 1
print("หมายเลข: " .. number)
until not(number < 5)
ตัวอย่างโค้ดด้านบนจะพิมพ์หมายเลข 1 ถึง 5 และหลังจากนั้นจะหยุดการทำงาน เพราะเมื่อ `number` เท่ากับ 5 แล้ว เงื่อนไข `number < 5` จะเป็นเท็จ และ do-while loop จะสิ้นสุดลง
Usecase ในโลกจริง
Usecase 1: การรับค่าจากผู้ใช้จนกว่าจะถูกต้อง
ในการพัฒนาโปรแกรมที่ต้องการรับ input จากผู้ใช้ และต้องการให้ทำซ้ำหลายๆ ครั้งจนกว่าจะได้ค่าที่ถูกต้อง do-while loop คือคำตอบ
local password
repeat
print("กรุณาใส่รหัสผ่าน: ")
password = io.read()
until password == "รหัสที่ถูกต้อง"
ในตัวอย่างนี้รหัสผ่านจะถูกขอซ้ำๆ จนกว่าผู้ใช้จะป้อนรหัสที่ถูกต้อง
Usecase 2: การทำเกมทายตัวเลข
Do-while loop เหมาะกับการพัฒนาเกมง่ายๆ เช่นเกมทายตัวเลขที่ผู้เล่นต้องทายจนกว่าจะได้ตัวเลขที่ถูกต้อง
local secret_number = 10 -- ตัวเลขลับที่ผู้เล่นต้องทาย
local guess
repeat
print("ทายตัวเลขที่ฉันคิด: ")
guess = tonumber(io.read())
if guess < secret_number then
print("ต่ำเกินไป!")
elseif guess > secret_number then
print("สูงเกินไป!")
end
until guess == secret_number
print("ยินดีด้วย! เธอทายถูกตัวเลือกแล้ว")
ในตัวอย่างนี้ผู้เล่นจะต้องทายตัวเลขและจะได้รับคำแนะนำว่าตัวเลขที่ทายนั้นสูงหรือต่ำเกินไปจนกว่าจะทายถูก
do-while loop เป็นเครื่องมือที่มีประโยชน์เมื่อคุณต้องการให้โค้ดในลูปทำงานอย่างน้อยหนึ่งครั้งไม่ว่าเงื่อนไขจะเป็นอย่างไร โดยในการเรียนรู้แนวทางการเขียนโปรแกรม ครูผู้แนะนำที่ EPT (Expert-Programming-Tutor) สามารถช่วยให้คุณเข้าใจและทดลองใช้งานรูปแบบโค้ดต่างๆ ได้อย่างมืออาชีพ พร้อมทั้งตอบทุกข้อสงสัยและช่วยปรับปรุงรหัสโปรแกรมของคุณให้ดียิ่งขึ้น คุณพร้อมที่จะขึ้นระดับการเขียนโปรแกรมของคุณแล้วหรือยัง? สมัครเรียนที่ EPT ตอนนี้!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
Tag ที่น่าสนใจ: do-while_loop lua programming looping control_structure code_example repeat_until programming_basics real-world_usecase input_validation
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM