التصريح بـEnums عادية واستخدامها
مثّل مجموعة ثابتة من القيم
التصريح بـEnums عادية واستخدامها درس مجاني في Dart Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Dart Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Dart Academy 4 دروس في المجموع.
مجموعة ثابتة من الخيارات
لا تأتي بعض القيم إلا من قائمة قصيرة ومعروفة، مثل أيام الأسبوع. وتمنحك enum أسماءً لهذه المجموعة الثابتة من الخيارات.
تعريف enum
تكتب enum، ثم اسمًا، ثم القيم المسموح بها بين قوسين معقوفين. وتمثل كل قيمة عضوًا ثابتًا واحدًا من هذا النوع.
enum Direction { north, south, east, west }لماذا لا نستخدم السلاسل النصية فحسب
قد تحتوي نصوص عادية مثل "north" على أخطاء إملائية، ولن يحذرك Dart منها. أما enum فيمنع الأخطاء الإملائية بحصر القيم المتاحة.
قراءة قيمة enum
يمكنك الوصول إلى عضو بكتابة اسم enum، ثم نقطة، ثم القيمة. والنتيجة قيمة حقيقية ذات نوع محدد، وليست مجرد تسمية.
var heading = Direction.north;لدى Enums نوعها الخاص
نوع المتغير heading أعلاه هو Direction. وسيرفض Dart أي قيمة ليست واحدة من الأعضاء الأربعة.
Direction d = Direction.east;مقارنة قيم enum
تقارن أعضاء enum باستخدام معامل المساواة المعتاد. وتكون النتيجة صحيحة فقط عندما يكون الطرفان العضو نفسه تمامًا.
print(Direction.north == Direction.north); // trueEnums في الشروط
بما أن المقارنة واضحة، تُقرأ enums بصورة طبيعية داخل if. وتصبح نيتك واضحة لأي شخص يراجع الكود بسرعة.
if (d == Direction.east) print("Turning east");طباعة enum
تُظهر طباعة عضو النوع والقيمة معًا، مثل Direction.north. وهذه تسمية مقروءة ومفيدة أثناء تصحيح الأخطاء. 🧭
print(Direction.north); // Direction.northمثال من العالم الحقيقي
تتألق enums عند تمثيل الحالات: فقد يكون الطلب قيد الانتظار أو مشحونًا أو مُسلّمًا. ويجعل النوع كل حالة ممكنة واضحة وصريحة.
enum Status { pending, shipped, delivered }الاصطلاح: أعضاء lowerCamelCase
وفق أسلوب Dart، تستخدم أعضاء enum صيغة lowerCamelCase، مثل inProgress. وهذا يحافظ على اتساق enums مع منظومة Dart الأوسع.
enum Phase { notStarted, inProgress, done }متى تناسبك enum
استخدم enum عندما تكون القيمة واحدة من مجموعة صغيرة وثابتة. فهذا أوضح وأكثر أمانًا من السلاسل النصية أو الأرقام غير المقيدة.
تحقق سريع
لماذا تفضّل enum على String عادية لتمثيل قيمة الحالة؟
مراجعة: Plain Enums
تعلمت أن enum تسمّي مجموعة ثابتة من الخيارات ذات الأنواع المحددة، وتُقرأ باستخدام صيغة النقطة وتُقارن بالمساواة. وهي أفضل من السلاسل النصية غير المقيدة. 🎉
تعلم Dart مع معلم ذكاء اصطناعي — مجانًا
اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.
- الدورات
- 30
- الدروس
- 120
الأسئلة الشائعة
هل درس «التصريح بـEnums عادية واستخدامها» مجاني؟
نعم — نص درس «التصريح بـEnums عادية واستخدامها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Dart Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Dart Academy 4 دروس في المجموع.
ماذا ستتعلم في «التصريح بـEnums عادية واستخدامها»؟
مثّل مجموعة ثابتة من القيم تتمرن على Dart Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Dart Academy؟
لا تُشترط خبرة سابقة. Dart Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «التصريح بـEnums عادية واستخدامها»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Dart Academy هذا؟
نعم. كل درس في Dart Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- التصريح بـEnums عادية واستخدامها
- قيم Enum وindex وname
- Enums محسّنة بالحقول والطرق
- استخدام switch مع Enums بشكل شامل