Conserver le point racine dans range
Utilisez une référence racine capturée dans les boucles.
Conserver le point racine dans range est une leçon Helm Academy gratuite sur CoddyKit. Ceci est la leçon 2 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Helm Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Helm Academy comprend 4 leçons au total.
Le point peut changer
À l’intérieur d’une boucle range, le point ne désigne plus la racine du paquet Helm : il pointe désormais vers l’élément courant. Cela déroute beaucoup les débutants.
Pourquoi est-ce un problème
Une fois le point redéfini, des expressions comme .Values ou .Release ne fonctionnent plus dans la boucle, car le contexte racine n’est plus le point.
Capturer d’abord la racine
La solution est simple : avant la boucle, enregistrez le point racine dans une variable. Vous pourrez ensuite accéder au contexte d’origine par cette variable à l’intérieur de range.
{{ $root := . }}Utiliser la racine enregistrée
Dans la boucle, faites passer par votre variable tout chemin qui concerne l’ensemble du paquet. Écrivez $root.Values au lieu de .Values pour sortir du point local.
{{ range .Values.items }}
release: {{ $root.Release.Name }}
{{ end }}Le point local fonctionne toujours
Pour accéder à l’élément de la boucle lui-même, continuez à utiliser le point seul. Dans range, le point désigne l’élément courant, exactement comme vous le souhaitez.
{{ range .Values.ports }}
- port: {{ . }}
{{ end }}Mélanger l’élément et la racine
Les modèles réels ont besoin des deux à la fois : l’élément fourni par le point et une valeur du paquet provenant de la racine. Capturer $root vous permet de référencer chacun clairement.
{{ $root := . }}
{{ range .Values.hosts }}
host: {{ . }}.{{ $root.Values.domain }}
{{ end }}Un choix de nom courant
Dans de nombreux paquets, cette variable s’appelle $root ou $top, mais le choix vous appartient. L’important est de capturer le point avant que range ne le redéfinisse.
range avec index et valeur
La forme à deux variables associe directement l’index et la valeur, ce qui libère le point. Malgré cela, capturer la racine reste l’habitude la plus sûre.
{{ range $i, $v := .Values.ports }}
- {{ $i }}: {{ $v }}
{{ end }}Le même piège dans with
Le bloc with redéfinit lui aussi le point vers un sous-arbre. La même technique de capture de la racine permet de récupérer vos références à l’ensemble du paquet.
Vérifier la sortie de la boucle
Effectuez le rendu du paquet et inspectez la boucle. helm template indique si chaque itération a résolu les valeurs racine comme prévu.
helm template ./mychartCapturer avant d’entrer
L’ordre est important : affectez $root := . en dehors de la boucle. Si vous le capturez à l’intérieur de range, le point est déjà redéfini et vous enregistrez la mauvaise valeur.
Vérification rapide
À l’intérieur d’une boucle range, {{ .Values.port }} ne renvoie soudain plus rien.
Récapitulatif
Vous avez appris que range redéfinit le point, que $root := . enregistre le contexte d’origine et que le point local reste l’élément de la boucle. 🔁
Questions Fréquemment Posées
La leçon « Conserver le point racine dans range » est-elle gratuite ?
Oui — le texte complet de « Conserver le point racine dans range » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Helm Academy, passe à CoddyKit PRO. Le cours Helm Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Conserver le point racine dans range » ?
Utilisez une référence racine capturée dans les boucles. Tu pratiques Helm Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Helm Academy ?
Aucune expérience préalable n'est requise. Helm Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 2 sur 4.
Combien de temps prend la leçon « Conserver le point racine dans range » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Helm Academy ?
Oui. Chaque leçon Helm Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Attribuer des variables de modèle
- Conserver le point racine dans range
- nindent ou indent en pratique
- Déboguer les espaces du rendu