loop_control: التسمية والفهرس والتوقّف المؤقت
تحكّم في مخرجات الحلقة وسلوكها
loop_control: التسمية والفهرس والتوقّف المؤقت درس مجاني في DevOps Bootcamp على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في DevOps Bootcamp، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
قد تصبح الحلقات كثيرة الضوضاء
عندما يكون item قاموسًا كبيرًا، يطبع الخرج القاموس بأكمله في كل تكرار. وتعمل الكلمة المفتاحية loop_control على تهذيب هذه الفوضى. 🧹
إضافة loop_control
ضع loop_control بجوار loop في المهمة نفسها. وهو يحتوي على خيارات تغيّر سلوك الحلقة وطريقة عرض تقاريرها.
- ansible.builtin.user:
name: "{{ item.name }}"
loop: "{{ users }}"
loop_control:
label: "{{ item.name }}"ينظّف label الخرج
يحدد الخيار label ما تتم طباعته لكل تكرار. اعرض item.name فقط بدلًا من القاموس بأكمله لتحصل على تشغيل واضح.
إعادة تسمية متغير الحلقة
يحدث تعارض عندما تستخدم الحلقات المتداخلة item معًا. يعيد الخيار loop_var تسمية المتغير لكي تبقى الحلقة الخارجية والداخلية متميزتين.
loop_control:
loop_var: user_itemتتبّع الموضع باستخدام index_var
هل تحتاج إلى الموضع الحالي؟ يوفّر index_var عدّادًا يبدأ من الصفر يمكنك طباعته أو استخدامه في الشروط.
loop_control:
index_var: idxاستخدام الفهرس
يمكنك الإشارة إلى index_var كما تشير إلى أي متغير. وهو مفيد لترقيم العناصر أو لتنفيذ إجراء في التكرار الأول فقط.
- ansible.builtin.debug:
msg: "{{ idx }}: {{ item }}"
loop: "{{ servers }}"
loop_control:
index_var: idxإبطاء التنفيذ باستخدام pause
ينتظر الخيار pause عددًا محددًا من الثواني بين التكرارات، وهو مفيد عند إرسال عدد كبير من الطلبات إلى API أو خدمة تفرض حدًا لمعدل الطلبات.
loop_control:
pause: 3عرض التقدم باستخدام extended
عيّن extended إلى true، وسيضيف Ansible معلومات عن الحلقة مثل ansible_loop.index وansible_loop.length لتوفير بيانات تقدم أكثر تفصيلًا.
loop_control:
extended: trueعوامل المساعدة في ansible_loop
عند تفعيل extended، يوفّر ansible_loop القيم first وlast وindex وrevindex، لكي تتمكن بسهولة من اكتشاف بداية الحلقة أو نهايتها.
when: ansible_loop.lastدمج عدة خيارات
يمكنك جمع الخيارات ضمن loop_control واحد: تسمية مخصصة، وindex_var، وpause، وكلها تتعايش في الكتلة نفسها.
loop_control:
label: "{{ item.name }}"
index_var: idx
pause: 1تحكّم، لا منطق
يتحكم loop_control في الخرج والإيقاع، لا في البيانات نفسها. فهو يجعل الحلقات الكبيرة واضحة وقابلة للتوقع من دون تغيير ما تفعله.
تحقّق سريع
أي خيار من loop_control يتحكم فيما تتم طباعته لكل تكرار؟
مراجعة: حلقات تحت السيطرة
استخدمت loop_control لإضافة تسميات واضحة، وتتبع الفهرس، وفترات توقف، ومعلومات extended. وأصبحت الآن تستخدم الحلقات باحتراف مع أي شكل من أشكال البيانات. 🎉
الأسئلة الشائعة
هل درس «loop_control: التسمية والفهرس والتوقّف المؤقت» مجاني؟
نعم — نص درس «loop_control: التسمية والفهرس والتوقّف المؤقت» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة DevOps Bootcamp، انتقل إلى CoddyKit PRO. تتضمن دورة DevOps Bootcamp 4 دروس في المجموع.
ماذا ستتعلم في «loop_control: التسمية والفهرس والتوقّف المؤقت»؟
تحكّم في مخرجات الحلقة وسلوكها تتمرن على DevOps Bootcamp مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ DevOps Bootcamp؟
لا تُشترط خبرة سابقة. DevOps Bootcamp على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «loop_control: التسمية والفهرس والتوقّف المؤقت»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس DevOps Bootcamp هذا؟
نعم. كل درس في DevOps Bootcamp يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- الكلمة المفتاحية loop على قائمة
- التكرار على القواميس
- الحلقات المتداخلة باستخدام subelements
- loop_control: التسمية والفهرس والتوقّف المؤقت