0Pricing
Zig Academy · درس

طرائق التعدادات والأعداد الصحيحة الداعمة

أضيفوا السلوك وتحكموا في التمثيل

طرائق التعدادات والأعداد الصحيحة الداعمة درس مجاني في Zig Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Zig Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Zig Academy 4 دروس في المجموع.

يمكن للتعدادات امتلاك سلوك

التعداد نوع حقيقي، لذا يمكنه احتواء دوال. وتعلن الدوال داخل جسم التعداد، بجوار أسماء القيم مباشرةً.

دالة method في تعداد

اكتب دالة داخل التعداد واجعل self المعامل الأول. وهي تعمل تمامًا مثل method في بنية.

const Color = enum { red, green, fn isRed(self: Color) bool { return self == .red; } };

استدعاء دوال التعداد

تستدعي method باستخدام صيغة النقطة على قيمة. وتصبح القيمة هي self، لذا تعرف method الشكل الذي استُدعيت عليه.

const ok = c.isRed();

لكل تعداد تمثيل صحيح خلفي

في الطبقة الداخلية، تُطابق كل قيمة تعداد عددًا صحيحًا. ويختار Zig نوع عدد صحيح خلفي صغيرًا يتسع لكل قيمك.

يبدأ الترقيم الافتراضي من الصفر

تكون القيمة الأولى افتراضيًا 0، وتزداد كل قيمة لاحقة بمقدار واحد. لذلك تكون red هي 0 وgreen هي 1، وهكذا حسب الترتيب.

const Color = enum { red, green, blue }; // 0, 1, 2

اختيار النوع الخلفي

يمكنك تحديد العدد الصحيح الخلفي بين قوسين، مثل enum(u8). وهذا يثبت العرض الدقيق، وهو مهم لتخطيط الذاكرة والتكامل البيني.

const Code = enum(u8) { a, b, c };

تعيين قيم صريحة

عيّن رقمًا محددًا لقيمة باستخدام =. وهذا مفيد عندما يجب أن تتطابق الأعداد الصحيحة مع بروتوكول أو مسجل عتادي.

const Status = enum(u8) { ok = 0, busy = 1, err = 255 };

من تعداد إلى عدد صحيح

حوّل قيمة تعداد إلى رقم باستخدام @intFromEnum. ويمنحك ذلك العدد الصحيح الأساسي لإرساله أو تخزينه.

const n = @intFromEnum(Status.err); // 255

من عدد صحيح إلى تعداد

استخدم @enumFromInt للاتجاه المعاكس، لتحويل رقم إلى قيمة تعداد من النوع المتوقع.

const s: Status = @enumFromInt(1);

حوّل بحذر

يفترض @enumFromInt أن الرقم يمثل شكلًا صالحًا. وفي البنيات الآمنة تُكتشف القيمة غير الصحيحة؛ وإلا فعليك أنت التحقق منها.

الدوال والوسوم معًا

اجمع الفكرتين: اختر نوعًا خلفيًا لتخطيط الذاكرة، وعيّن القيم لبروتوكول، وأضف دوال ليظل التعداد مكتفيًا بذاته.

تحقق سريع

لديك قيمة من تعداد Status وتحتاج إلى رقمها الأساسي. ما هي الدالة المضمّنة المطلوبة؟

مراجعة

أضفت إلى التعدادات دوال باستخدام self، واخترت عددًا صحيحًا خلفيًا مثل enum(u8)، وعيّنت قيمًا صريحة، وحوّلت في الاتجاهين باستخدام @intFromEnum و@enumFromInt. 🔢

الأسئلة الشائعة

هل درس «طرائق التعدادات والأعداد الصحيحة الداعمة» مجاني؟

نعم — نص درس «طرائق التعدادات والأعداد الصحيحة الداعمة» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Zig Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Zig Academy 4 دروس في المجموع.

ماذا ستتعلم في «طرائق التعدادات والأعداد الصحيحة الداعمة»؟

أضيفوا السلوك وتحكموا في التمثيل تتمرن على Zig Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Zig Academy؟

لا تُشترط خبرة سابقة. Zig Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.

كم من الوقت يستغرق درس «طرائق التعدادات والأعداد الصحيحة الداعمة»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Zig Academy هذا؟

نعم. كل درس في Zig Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. التعدادات لمجموعة قيم ثابتة
  2. الاتحادات التي تحتوي أحد أنواع متعددة
  3. الاتحادات الموسومة وswitch
  4. طرائق التعدادات والأعداد الصحيحة الداعمة
← العودة إلى Zig Academy