# Enumeration (Enum) คืออะไร มีประโยชน์อย่างไร ใช้งานตอนไหน
เด็กๆ ทุกคนชอบอ่านนิทานใช่ไหมครับ ถ้านิทานเป็นเรื่องราวที่เขียนไว้สำหรับให้เราฝันไปกับเรื่องราวน่าตื่นเต้น การเขียนโปรแกรมก็เหมือนกับการเขียนนิทานเลยล่ะ แต่ว่าเราเขียนให้คอมพิวเตอร์เข้าใจและทำตามนั่นเอง ในโลกของการเขียนโปรแกรม เรามีเครื่องมือต่างๆมากมายที่ช่วยให้เราสามารถเล่าเรื่องราวนั้นได้ หนึ่งในเครื่องมือเหล่านั้นก็คือ "Enumeration" หรือที่เราเรียกกันสั้นๆว่า "Enum" นั่นเองครับ
เพื่อให้เด็กๆวัย 8 ปีเข้าใจง่าย ขอใช้ตัวอย่างนิทานนะครับ เช่นเรามีนิทานเกี่ยวกับดวงดาวที่มีชื่อต่างๆ ไม่ว่าจะเป็นดาวพฤหัส ดาวอังคาร ดาวศุกร์ ฯลฯ ทีนี้เราต้องการให้คอมพิวเตอร์จำชื่อดาวเหล่านี้ไว้และไม่สับสนระหว่างดาวพฤหัสกับดาวอังคาร Enum จะเข้ามาช่วยในเรื่องนี้
Enum เป็นเหมือนกล่องที่เราสร้างขึ้นมาเพื่อจัดเก็บสิ่งที่เป็นชนิดเดียวกัน ในกรณีของเรา เราจะจัดเก็บชื่อของดาว เราจะสร้างกล่อง Enum ที่ชื่อว่า "ดาว" แล้วเอาชื่อของดาวต่างๆมาใส่ในกล่องนี้
class ดาว(Enum):
พฤหัส = 1
อังคาร = 2
ศุกร์ = 3
น้อยใหญ่ = 4
เสาร์ = 5
ดูง่ายไหมครับ? เราก็เหมือนกำลังเล่านิทานเกี่ยวกับดวงดาวให้คอมพิวเตอร์ฟังเลย
Enum ช่วยให้เราจัดระเบียบข้อมูลที่เป็นชุด หรือมีความสัมพันธ์กันโดยตรง เพื่อความง่ายในการจัดการและเรียกใช้ คิดเหมือนตอนที่เรามีกล่องสมบัติ แล้วเราใส่เหรียญทองหรืออัญมณีแต่ละชนิดไว้ต่างๆกันตามกล่อง เมื่อเราต้องการเหรียญทอง เราก็ไปเปิดกล่องที่เราเตรียมไว้สำหรับเหรียญทอง สะดวกและรวดเร็ว
Enum ก็ให้ประโยชน์แบบนี้เอง มันช่วยให้โปรแกรมของเรามีโครงสร้างที่ชัดเจน ลดความซับซ้อนและลดโอกาสที่จะเกิดบัคหรือข้อผิดพลาดในโปรแกรม
เราใช้ Enum เมื่อเรามีชุดข้อมูลที่เน้นความชัดเจนและจำกัดจำนวน เช่น รายการอาหารในเมนู, ชนิดของบัตรเครดิต, หรือแม้กระทั่งวันในสัปดาห์ เป็นต้น มันช่วยให้คอมพิวเตอร์และโปรแกรมเมอร์เข้าใจว่าข้อมูลเหล่านั้นมีความเกี่ยวข้องและเป็นส่วนหนึ่งของชุดข้อมูลเดียวกัน
ตัวอย่างเช่น ถ้าเรากำลังเขียนโปรแกรมสำหรับร้านอาหารและเราต้องการจัดการรายการอาหารที่แตกต่างกัน เราสามารถสร้าง Enum สำหรับรายการนั้น ๆ ได้ดังนี้:
class รายการอาหาร(Enum):
พิซซ่า = 1
สปาเก็ตตี้ = 2
ซุปวุ้นเส้น = 3
ไอศครีม = 4
และนี่ก็เป็นเครื่องมือที่น่าสนใจสำหรับการเขียนโปรแกรมครับ มันทำให้โปรแกรมของเรามีโครงสร้างที่ดีและมั่นใจได้ว่าการทำงานของโปรแกรมจะถูกต้องแม่นยำ เพราะข้อมูลที่เราเตรียมไว้นั้นเป็นระเบียบอย่างดีเยี่ยม
สำหรับใครที่รู้สึกหลงใหลในการเขียนโค้ดและต้องการเรียนรู้เพิ่มเติมเกี่ยวกับ Enum และหลายๆเครื่องมือในการเขียนโปรแกรม การศึกษาที่ Expert-Programming-Tutor (EPT) คือโอกาสที่ดีที่คุณจะได้รับความรู้และทักษะในการเป็นนักเขียนโปรแกรมที่แข็งแกร่งในอนาคตครับ!
หมายเหตุ: ข้อมูลในบทความนี้อาจจะผิด โปรดตรวจสอบความถูกต้องของบทความอีกครั้งหนึ่ง บทความนี้ไม่สามารถนำไปใช้อ้างอิงใด ๆ ได้ ทาง EPT ไม่ขอยืนยันความถูกต้อง และไม่ขอรับผิดชอบต่อความเสียหายใดที่เกิดจากบทความชุดนี้ทั้งทางทรัพย์สิน ร่างกาย หรือจิตใจของผู้อ่านและผู้เกี่ยวข้อง
หากเจอข้อผิดพลาด หรือต้องการพูดคุย ติดต่อได้ที่ https://m.me/expert.Programming.Tutor/
หากมีข้อผิดพลาด/ต้องการพูดคุยเพิ่มเติมเกี่ยวกับบทความนี้ กรุณาแจ้งที่ http://m.me/Expert.Programming.Tutor
085-350-7540 (DTAC)
084-88-00-255 (AIS)
026-111-618
หรือทาง EMAIL: NTPRINTF@GMAIL.COM