المرشحات: default وjoin وupper
حوّل القيم داخل القوالب
المرشحات: default وjoin وupper درس مجاني في Ansible Academy على CoddyKit. هذا هو الدرس 4 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Ansible Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Ansible Academy 4 دروس في المجموع.
وظيفة Filter
يحوّل filter قيمة أثناء توجهها إلى المخرجات. تطبقونه باستخدام pipe، وتقرؤونه من اليسار إلى اليمين كأنه مسار معالجة صغير. 🧰
{{ name | upper }}مرشح upper
يحوّل مرشح upper السلسلة النصية إلى أحرف كبيرة، بينما يفعل lower العكس. وهو مفيد جدًا لتوحيد النص.
{{ region | upper }}
{{ region | lower }}مرشح default
استخدموا default لتوفير قيمة بديلة عندما يكون المتغير غير معرّف، حتى لا تفشل المعالجة بسبب قيمة مفقودة.
listen {{ http_port | default(80) }};default للقيم الفارغة
مرّروا true كوسيطة ثانية لاستبدال السلاسل الفارغة أيضًا، وليس القيم غير المعرّفة فقط. إنها قيمة بديلة أكثر تشددًا.
{{ user | default('admin', true) }}مرشح join
حوّلوا قائمة إلى سلسلة نصية واحدة باستخدام join، مع اختيار الفاصل بين العناصر. وهو مثالي لقيم الإعداد المفصولة بفواصل.
allowed = {{ ips | join(', ') }}سلسلة من Filters
مرّروا عدة filters واحدًا تلو الآخر؛ إذ يغذي كل واحد منها التالي. هنا تُضم القائمة ثم تُحوّل إلى أحرف صغيرة في تعبير واحد.
{{ tags | join(',') | lower }}length والعدّ
يعدّ مرشح length العناصر في قائمة أو المحارف في سلسلة نصية، وهو مفيد لتحديد أحجام المجموعات أو الحلقات.
workers = {{ servers | length }}trim وreplace
نظّفوا النص باستخدام trim لإزالة المسافات الطرفية، أو باستخدام replace لاستبدال سلسلة فرعية بأخرى.
{{ path | replace('//', '/') }}Filters للأرقام
تفيد المرشحات الرقمية أيضًا: يحوّل int وfloat الأنواع، بينما يقرّب round العدد العشري إلى منازل ثابتة.
{{ ('8' | int) * 1024 }}Filters خاصة بـ Ansible
يضيف Ansible filters خاصة به مثل to_json وto_nice_yaml لتفريغ هياكل البيانات بصورة مرتبة داخل الملفات.
{{ config | to_nice_yaml }}تُقرأ Filters من اليسار إلى اليمين
يؤثر الترتيب في السلسلة: تمر القيمة عبر كل filter بالتتابع، لذلك ضعوا التحويلات بالترتيب الذي تحتاجونه.
تحقق سريع
قد يكون أحد المتغيرات غير معرّف، وتريدون قيمة بديلة آمنة. أي filter يتولى ذلك؟
مراجعة
تعرّفتم إلى filters: يستخدم default للقيم البديلة، وjoin للقوائم، وupper للنصوص، إضافة إلى length وتسلسل filters. تحوّل الأنابيب القيم بطريقة واضحة. ✨
الأسئلة الشائعة
هل درس «المرشحات: default وjoin وupper» مجاني؟
نعم — نص درس «المرشحات: default وjoin وupper» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Ansible Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Ansible Academy 4 دروس في المجموع.
ماذا ستتعلم في «المرشحات: default وjoin وupper»؟
حوّل القيم داخل القوالب تتمرن على Ansible Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.
هل أحتاج إلى خبرة سابقة لأبدأ Ansible Academy؟
لا تُشترط خبرة سابقة. Ansible Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 4 من أصل 4.
كم من الوقت يستغرق درس «المرشحات: default وjoin وupper»؟
معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.
هل يمكنني كتابة وتشغيل أكواد في درس Ansible Academy هذا؟
نعم. كل درس في Ansible Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.
جميع الدروس في هذه الدورة
- وحدة template وملفات .j2
- المتغيرات والتعبيرات في Jinja2
- الحلقات وكتل if في القوالب
- المرشحات: default وjoin وupper