وقت الترجمة مقابل وقت التشغيل
تعرّفوا إلى ما يستطيع Zig تقييمه قبل التشغيل
وقت الترجمة مقابل وقت التشغيل درس مجاني في Zig Academy على CoddyKit. هذا هو الدرس 1 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Zig Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Zig Academy 4 دروس في المجموع.
وقتان في برنامج واحد
يعيش كود Zig في عالمين: أشياء تحدث أثناء الترجمة، وأشياء تحدث أثناء تشغيل البرنامج. وفهم هذا الفصل يفتح لكم قوة Zig. ⏱️
وقت التشغيل هو المألوف
يشمل وقت التشغيل كل ما يحدث عند تنفيذ الملف الثنائي المبني: إدخال المستخدم، وقراءة الملفات، والقيم التي لا يمكنكم معرفتها مسبقًا.
يحدث وقت الترجمة أولًا
يشير وقت الترجمة إلى العمل الذي ينفذه مترجم Zig قبل وجود أي ملف ثنائي. وتُقيَّم بعض التعبيرات بالكامل في تلك المرحلة.
غالبًا ما تُطوى الثوابت
يمكن حساب التعبير البسيط ذي القيم المعروفة أثناء الترجمة. ويطويه Zig في ثابت واحد داخل الملف الثنائي النهائي.
const minutes = 60 * 24;ليس لـ comptime_int عرض ثابت
يبدأ literal العدد الصحيح المجرد بوصفه comptime_int. وتكون دقته غير محدودة حتى تثبتوه على نوع ذي حجم محدد مثل i32.
const big = 1_000_000_000_000;الكلمة المفتاحية comptime
ضعوا comptime قبل التعبير لفرض تقييمه أثناء الترجمة. وإذا تعذر ذلك، فستحصلون على خطأ.
comptime {
const x = 2 + 3;
}تبقى قيم وقت التشغيل في وقت التشغيل
لا تُعرف القيمة المقروءة من الإدخال إلا عند تشغيل البرنامج. ولا يمكنكم مطالبة المصرّف بتقييمها في وقت الترجمة.
يمكن لـ comptime تنفيذ منطق فعلي
لا يقتصر وقت الترجمة على الحسابات الرياضية. يستطيع Zig تنفيذ الحلقات واستدعاء الدوال في وقت الترجمة، ما دامت كل المدخلات معروفة حينها.
const total = comptime sum(10);لماذا ننقل العمل إلى وقت الترجمة
يعني حساب الأشياء أثناء الترجمة عدم وجود تكلفة في وقت التشغيل. تُضمَّن النتيجة في الملف الثنائي، فلا يعيد البرنامج حسابها.
لغة واحدة للمرحلتين
تخدم صياغة Zig نفسها المرحلتين كلتيهما. فلا توجد لغة وحدات ماكرو منفصلة؛ فكود وقت الترجمة هو مجرد Zig عادي يُنفَّذ مبكرًا.
تُكتشف الأخطاء قبل وقت التشغيل
لأن Zig يقيّم الكود المعروف مبكرًا، تظهر أخطاء كثيرة على هيئة أخطاء ترجمة. ويمكنكم إصلاحها قبل تشغيل البرنامج أصلًا.
تحقق سريع
كتبتم ثابتًا يساوي 7 مضروبة في 24. متى تُنفَّذ عملية الضرب؟
مراجعة
يقسم Zig العمل إلى وقت الترجمة ووقت التشغيل. ويمكن حساب القيم المعروفة مبكرًا دون تكلفة، بينما تنتظر القيم المجهولة حتى التنفيذ. 🎯
الأسئلة الشائعة
هل درس «وقت الترجمة مقابل وقت التشغيل» مجاني؟
نعم — نص درس «وقت الترجمة مقابل وقت التشغيل» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Zig Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Zig Academy 4 دروس في المجموع.
ماذا ستتعلم في «وقت الترجمة مقابل وقت التشغيل»؟
تعرّفوا إلى ما يستطيع Zig تقييمه قبل التشغيل تتمرن على Zig Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Zig Academy؟
لا تُشترط خبرة سابقة. Zig Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 1 من أصل 4.
كم من الوقت يستغرق درس «وقت الترجمة مقابل وقت التشغيل»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Zig Academy هذا؟
نعم. كل درس في Zig Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- وقت الترجمة مقابل وقت التشغيل
- معاملات وقيم comptime
- الأنواع قيم comptime
- inline for والحلقات المفكوكة