Ansible Academy · درس

loop_control: التسمية والفهرس والتوقّف المؤقت

تحكّم في مخرجات الحلقة وسلوكها

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

loop_control: التسمية والفهرس والتوقّف المؤقت درس مجاني في Ansible Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ansible Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ansible Academy 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. وأصبحت الآن تستخدم الحلقات باحتراف مع أي شكل من أشكال البيانات. 🎉

البدء مجانًا

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

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

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

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

هل درس «loop_control: التسمية والفهرس والتوقّف المؤقت» مجاني؟

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

ماذا ستتعلم في «loop_control: التسمية والفهرس والتوقّف المؤقت»؟

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

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

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

كم من الوقت يستغرق درس «loop_control: التسمية والفهرس والتوقّف المؤقت»؟

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

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

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

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

  1. الكلمة المفتاحية loop على قائمة
  2. التكرار على القواميس
  3. الحلقات المتداخلة باستخدام subelements
  4. loop_control: التسمية والفهرس والتوقّف المؤقت
← العودة إلى Ansible Academy