Zig Academy · درس

‏inline for والحلقات المفكوكة

كرّروا وقت الترجمة

الدرس 4 من 413 خطوة

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

حلقة تعمل وقت الترجمة

إن inline for حلقة يفكّك المصرّف تكرارها أثناء الترجمة. فبدلًا من التكرار وقت التشغيل، ينسخ جسم الحلقة لكل عنصر. 🔁

الكلمة المفتاحية inline

ضعوا inline قبل for لطلب توسيع الحلقة وقت الترجمة في Zig. ويجب أن يكون عدد التكرارات معروفًا حينها.

inline for (items) |item| {}

تفكيك الحلقة يعني نسخ الجسم

يستبدل التفكيك الحلقة بنسخة من جسمها لكل عنصر. ولا يبقى عدّاد للحلقة وقت التشغيل، بل مجرد تعليمة straight-line.

التكرار على tuple معروفة

من الاستخدامات الشائعة التكرار على tuple تختلف أنواع حقولها. ويمكن لكل نسخة مفككة التعامل مع عنصرها بالنوع الصحيح.

inline for (.{ 1, true, 3.0 }) |v| {}

يمكن أن يكون الفهرس comptime

مع inline for يكون فهرس الحلقة قيمة وقت ترجمة في كل دورة، ولذلك يمكنكم استخدامه حيث لا يُسمح إلا بالثوابت.

inline for (list, 0..) |v, i| {}

يمكن أن تختلف كل دورة

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

فحص حقول البنى بالانعكاس

اجمعوا بين inline for وانعكاس الأنواع للوصول إلى كل حقل في بنية وقت الترجمة، وإنشاء تعليمات مخصصة لكل حقل.

inline for (fields) |field| {}

مبادلة حجم الشيفرة بالسرعة

يزيل التفكيك تكلفة الحلقة لكنه يزيد حجم الملف التنفيذي. استخدموا inline for مع أعداد صغيرة وثابتة عندما تكون زيادة السرعة جديرة بذلك.

يجب أن يكون العدد معروفًا

تحتاج inline for إلى طول يستطيع المصرّف رؤيته. ولا يمكن تفكيك التكرار على شريحة وقت التشغيل ذات الطول غير المعروف.

يوجد أيضًا inline while

توفّر Zig أيضًا inline while. وهي تفكك حلقة while وقت الترجمة عندما يمكن حسم الشرط أثناء الترجمة.

التزموا بالأعداد الصغيرة

استخدموا inline for عندما يكون عدد العناصر صغيرًا وثابتًا. أما الأطوال الكبيرة أو غير المعروفة، فتحافظ حلقة for العادية على صغر الملف التنفيذي.

تحقق سريع

ماذا يطلب إضافة inline إلى حلقة for من مترجم Zig أن يفعل؟

مراجعة

تفكك inline for حلقة ذات طول معروف وقت الترجمة، مما يتيح لكل نسخة استخدام نوعها الخاص ويزيل تكلفة الحلقة وقت التشغيل. 🎯

البدء مجانًا

تعلم Zig مع معلم ذكاء اصطناعي — مجانًا

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

الدورات
30
الدروس
120

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

هل درس «‏inline for والحلقات المفكوكة» مجاني؟

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

ماذا ستتعلم في «‏inline for والحلقات المفكوكة»؟

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

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

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

كم من الوقت يستغرق درس «‏inline for والحلقات المفكوكة»؟

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

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

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

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

  1. وقت الترجمة مقابل وقت التشغيل
  2. معاملات وقيم comptime
  3. الأنواع قيم comptime
  4. ‏inline for والحلقات المفكوكة
← العودة إلى Zig Academy