0Pricing
Zig Academy · درس

ترتيب تنفيذ عمليات defer المتعددة

تعرّفوا إلى سبب تنفيذ الشيفرة المؤجلة بترتيب عكسي

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

أكثر من defer واحدة

يمكن لنطاق واحد أن يحتوي على عدة عبارات defer. وعند انتهاء النطاق، يجب على Zig تحديد ترتيب تنفيذها.

تُنفّذ بترتيب عكسي

تُنفّذ عبارات defer المتعددة بترتيب عكسي: تُنفّذ الأخيرة التي كتبتها أولاً، والأولى التي كتبتها أخيراً.

defer one();
defer two();

الأخير دخولاً، الأول خروجاً

هذا هو سلوك LIFO التقليدي، مثل المكدس تماماً. تُضاف كل defer إلى المكدس، ثم تُزال أثناء التفكيك بترتيب عكسي.

مثال صغير

تُنفّذ عبارتا defer هنا بعد انتهاء العمل. ويكون الناتج two ثم one، لأن defer اللاحقة تُفكّك قبل السابقة.

defer print("one");
defer print("two");
work();

لماذا الترتيب العكسي منطقي

تعتمد الموارد عادةً على موارد أُنشئت قبلها. ويعني الترتيب العكسي أن تحرّر الأحدث أولاً، فلا يُحرَّر شيء أثناء الاستمرار في استخدامه.

محاكاة ترتيب الحصول على الموارد

افتح A، ثم افتح B. وتغلق عبارات defer العكسية B ثم A، فتحاكي تماماً ترتيب إنشائهما.

a.open(); defer a.close();
b.open(); defer b.close();

يُلتقط عند وقت الجدولة

تتذكر كل defer شيفرتها بالترتيب، رغم أن التنفيذ ينتظر. ويُحدَّد الترتيب في اللحظة التي تصل فيها إلى كل defer.

تُتخطى إذا لم يتم الوصول إليها

إذا خرج التنفيذ من النطاق قبل الوصول إلى سطر defer، فلن تكون defer قد جُدولت، ولذلك لا تُنفّذ إطلاقاً.

if (early) return;
defer late();

مكدسات لكل نطاق

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

تفكيك يمكن التنبؤ به

يتيح لك معرفة القاعدة العكسية تحليل التنظيف بدقة، بحيث لا يكون تسلسل التفكيك مفاجئاً أبداً.

نموذج ذهني مفيد

تخيّل أنك تكدّس الأطباق: تضيفها من الأسفل إلى الأعلى، لكن يجب أن تزيلها من الأعلى، فتأخذ آخر طبق أولاً.

تحقّق سريع

لديك عبارتا defer، الأولى ثم الثانية. ما ترتيب التنفيذ؟

مراجعة

تُفكّك عبارات defer المتعددة بترتيب عكسي، مثل المكدس، ولذلك يُحرَّر المورد الأحدث أولاً ويحاكي التنظيف ترتيب الإعداد. 🔁

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

هل درس «ترتيب تنفيذ عمليات defer المتعددة» مجاني؟

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

ماذا ستتعلم في «ترتيب تنفيذ عمليات defer المتعددة»؟

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

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

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

كم من الوقت يستغرق درس «ترتيب تنفيذ عمليات defer المتعددة»؟

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

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

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

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

  1. ما الذي يضمنه defer
  2. ترتيب تنفيذ عمليات defer المتعددة
  3. ‏defer مقابل errdefer عملياً
  4. إقران Open بـ Close
← العودة إلى Zig Academy