0Pricing
Helm Academy · درس

الحفاظ على النقطة الجذرية داخل range

استخدم مرجعًا محفوظًا للجذر داخل الحلقات

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

يمكن للنقطة أن تتحرك

داخل حلقة range، لا تعود النقطة تعني جذر المخطط، بل تشير إلى العنصر الحالي. وهذا يربك كثيرًا من المؤلفين المبتدئين.

لماذا يمثل ذلك مشكلة

بعد إعادة ربط النقطة، لا تعود تعبيرات مثل .Values أو .Release تعمل داخل الحلقة، لأن سياق الجذر لم يعد هو النقطة.

احفظ الجذر أولًا

الحل بسيط: قبل الحلقة، احفظ النقطة الجذرية في متغير. ثم صِل إلى السياق الأصلي عبر ذلك المتغير داخل range.

{{ $root := . }}

استخدم الجذر المحفوظ

داخل الحلقة، غيّر أي مسار يشمل المخطط بأكمله ليستخدم متغيرك. اكتب $root.Values بدلًا من .Values للخروج من النقطة المحلية.

{{ range .Values.items }}
release: {{ $root.Release.Name }}
{{ end }}

لا تزال النقطة المحلية تعمل

بالنسبة إلى عنصر الحلقة نفسه، واصل استخدام النقطة العادية. داخل range، تمثل النقطة العنصر الحالي، وهذا هو المطلوب تمامًا.

{{ range .Values.ports }}
- port: {{ . }}
{{ end }}

الجمع بين العنصر والجذر

تحتاج القوالب الواقعية إلى كليهما في الوقت نفسه: العنصر من النقطة وقيمة على مستوى المخطط من الجذر. يتيح لك حفظ $root الإشارة إلى كل منهما بوضوح.

{{ $root := . }}
{{ range .Values.hosts }}
host: {{ . }}.{{ $root.Values.domain }}
{{ end }}

اختيار شائع للاسم

تسمّي مخططات كثيرة هذا المتغير $root أو $top، لكن الاسم لك. المهم هو حفظ النقطة قبل أن تعيد range ربطها.

range مع الفهرس والقيمة

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

{{ range $i, $v := .Values.ports }}
- {{ $i }}: {{ $v }}
{{ end }}

المأزق نفسه داخل with

تعيد كتلة with أيضًا ربط النقطة بشجرة فرعية. وتنقذك حيلة حفظ الجذر نفسها من المشكلة عند الإشارة إلى القيم على مستوى المخطط داخلها.

اختبر ناتج الحلقة

صيّر المخطط وافحص الحلقة. يوضح helm template ما إذا كانت كل عملية تكرار قد حلّت قيم الجذر بالطريقة التي توقعتها.

helm template ./mychart

احفظ القيمة قبل الدخول

الترتيب مهم: عيّن $root := . خارج الحلقة. إذا حفظته داخل range، فستكون النقطة قد أعيد ربطها بالفعل، ولذلك ستحفظ القيمة الخاطئة.

تحقق سريع

داخل حلقة range، يعيد {{ .Values.port }} فجأة لا شيء.

مراجعة

تعلمت أن range تعيد ربط النقطة، وأن $root := . يحفظ السياق الأصلي، وأن النقطة المحلية تظل عنصر الحلقة. 🔁

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

هل درس «الحفاظ على النقطة الجذرية داخل range» مجاني؟

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

ماذا ستتعلم في «الحفاظ على النقطة الجذرية داخل range»؟

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

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

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

كم من الوقت يستغرق درس «الحفاظ على النقطة الجذرية داخل range»؟

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

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

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

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

  1. تعيين متغيرات القالب
  2. الحفاظ على النقطة الجذرية داخل range
  3. nindent مقابل indent عمليًا
  4. تصحيح أخطاء المسافات البيضاء المُصيّرة
← العودة إلى Helm Academy