range के भीतर Root Dot सुरक्षित रखना
Loops के भीतर Captured Root Reference का उपयोग करें।
range के भीतर Root Dot सुरक्षित रखना, CoddyKit पर Helm Academy का एक निःशुल्क पाठ है। यह 4 में से 2वाँ पाठ है। आप नीचे पूरा पाठ निःशुल्क पढ़ सकते हैं—फिर अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर के साथ ब्राउज़र में इसका व्यावहारिक अभ्यास कर सकते हैं। यह Helm Academy सीखने के मार्ग का हिस्सा है और आपकी प्रगति वेब तथा CoddyKit ऐप पर सिंक होती रहती है। Helm Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
डॉट स्थान बदल सकता है
range लूप के अंदर डॉट का अर्थ चार्ट का मूल संदर्भ नहीं रहता, बल्कि वह वर्तमान आइटम की ओर संकेत करता है। पहली बार टेम्पलेट लिखने वाले कई लोग इसी वजह से उलझ जाते हैं।
यह समस्या क्यों है
डॉट का संदर्भ बदलते ही .Values या .Release जैसी अभिव्यक्तियाँ लूप के अंदर काम नहीं करतीं, क्योंकि मूल संदर्भ अब डॉट नहीं रहता।
पहले मूल संदर्भ सहेजें
समाधान सरल है: लूप से पहले मूल डॉट को एक चर में सहेज लें। फिर range के अंदर उस चर के ज़रिए मूल संदर्भ तक पहुँचें।
{{ $root := . }}सहेजे गए मूल संदर्भ का उपयोग करें
लूप के अंदर चार्ट-स्तर के किसी भी पथ को अपने चर के ज़रिए लिखें। स्थानीय डॉट से बाहर आने के लिए .Values के बजाय $root.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 := . मूल संदर्भ को सहेजता है और स्थानीय डॉट लूप का आइटम बना रहता है। 🔁
एआई शिक्षक के साथ YAML सीखें — निःशुल्क
अपने ब्राउज़र में वास्तविक कोड लिखें और चलाएँ, चौबीसों घंटे एआई शिक्षक से तुरंत सहायता पाएँ, और वेब या ऐप पर वहीं से शुरू करें जहाँ आपने छोड़ा था।
- पाठ्यक्रम
- 30
- पाठ
- 120
अक्सर पूछे जाने वाले प्रश्न
क्या “range के भीतर Root Dot सुरक्षित रखना” पाठ निःशुल्क है?
हाँ—“range के भीतर Root Dot सुरक्षित रखना” का पूरा पाठ यहाँ वेब पर निःशुल्क पढ़ा जा सकता है। इंटरैक्टिव अभ्यास (अंतर्निहित कोड संपादक और 24/7 एआई ट्यूटर) करने और Helm Academy पाठ्यक्रम का बाकी हिस्सा अनलॉक करने के लिए CoddyKit PRO लें। Helm Academy पाठ्यक्रम में कुल 4 पाठ शामिल हैं।
“range के भीतर Root Dot सुरक्षित रखना” में मैं क्या सीखूँगा?
Loops के भीतर Captured Root Reference का उपयोग करें। आप ब्राउज़र में सीधे चलाए जाने वाले व्यावहारिक कोड के साथ Helm Academy का अभ्यास करते हैं, और पाठ पूरा करते समय 24/7 एआई ट्यूटर आपके प्रश्नों के उत्तर देता है।
क्या Helm Academy शुरू करने के लिए मुझे किसी अनुभव की आवश्यकता है?
पहले के अनुभव की आवश्यकता नहीं है। CoddyKit पर Helm Academy शुरुआती से लेकर उन्नत शिक्षार्थियों तक सभी के लिए व्यवस्थित किया गया है, इसलिए आप यहीं से या शुरुआत से सीखना शुरू कर सकते हैं और अपनी गति से आगे बढ़ सकते हैं। यह 4 में से 2वाँ पाठ है।
“range के भीतर Root Dot सुरक्षित रखना” पाठ पूरा करने में कितना समय लगता है?
CoddyKit का अधिकांश पाठ लगभग 5–10 मिनट में पूरा हो जाता है। हर पाठ छोटा और संवादात्मक है, इसलिए आप लगातार प्रगति करते हैं और वेब या ऐप पर वहीं से सीखना जारी रख सकते हैं जहाँ आपने छोड़ा था।
क्या मैं इस Helm Academy पाठ में कोड लिख और चला सकता हूँ?
हाँ। हर Helm Academy पाठ में एक अंतर्निर्मित कोड संपादक शामिल है, जिससे आप सीधे अपने ब्राउज़र में वास्तविक कोड लिख और चला सकते हैं और तुरंत एआई प्रतिक्रिया पा सकते हैं—स्थानीय सेटअप की आवश्यकता नहीं है।
इस पाठ्यक्रम के सभी पाठ
- Template Variables असाइन करना
- range के भीतर Root Dot सुरक्षित रखना
- व्यवहार में nindent बनाम indent
- Rendered Whitespace की Debugging