0Pricing
Helm Academy · Lezione

Conservare il punto root all'interno di range

Utilizzi un riferimento root salvato nei loop

Conservare il punto root all'interno di range è una lezione Helm Academy gratuita su CoddyKit. Questa è la lezione 2 di 4. Puoi leggere la lezione completa qui gratuitamente — poi esercitati direttamente nel browser con un editor di codice integrato e un tutor IA disponibile 24/7. Fa parte del percorso di apprendimento Helm Academy, e i tuoi progressi si sincronizzano tra il web e l'app CoddyKit. Il corso Helm Academy include 4 lezioni in totale.

Il punto può cambiare

All'interno di un ciclo range, il punto non indica più la radice del chart, ma l'elemento corrente. Questo confonde molti autori alle prime armi.

Perché è un problema

Una volta riassegnato il punto, espressioni come .Values o .Release non funzionano più all'interno del ciclo, perché il contesto radice non è più rappresentato dal punto.

Salvare prima la radice

La soluzione è semplice: prima del ciclo, salvi il punto radice in una variabile. Poi, all'interno di range, raggiunga il contesto originale tramite quella variabile.

{{ $root := . }}

Usare la radice salvata

All'interno del ciclo, modifichi ogni percorso valido per l'intero chart in modo che passi dalla variabile. Scriva $root.Values invece di .Values per uscire dal punto locale.

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

Il punto locale funziona ancora

Per l'elemento del ciclo, continui a usare il punto semplice. All'interno di range il punto rappresenta l'elemento corrente, esattamente ciò che serve in questo caso.

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

Combinare elemento e radice

I template reali hanno bisogno di entrambi contemporaneamente: l'elemento indicato dal punto e un valore del chart proveniente dalla radice. Salvare $root permette di referenziarli entrambi in modo chiaro.

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

Una scelta comune per il nome

In molti chart questa variabile viene chiamata $root o $top, ma il nome lo sceglie Lei. Ciò che conta è salvare il punto prima che range lo riassegni.

range con indice e valore

La forma con due variabili associa direttamente indice e valore, lasciando libero il punto. Anche in questo caso, salvare la radice resta l'abitudine più sicura.

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

La stessa trappola dentro with

Anche il blocco with riassegna il punto a un sottoalbero. La stessa tecnica di salvataggio della radice consente di recuperare i riferimenti validi per l'intero chart anche al suo interno.

Verificare l'output del ciclo

Esegua il rendering del chart e controlli il ciclo. helm template mostra se ogni iterazione ha risolto i valori della radice come previsto.

helm template ./mychart

Salvare prima di entrare

L'ordine è importante: assegni $root := . al di fuori del ciclo. Se lo salva all'interno di range, il punto è già stato riassegnato e memorizzerebbe il valore sbagliato.

Verifica rapida

All'interno di un ciclo range, {{ .Values.port }} improvvisamente non restituisce nulla.

Riepilogo

Ha imparato che range riassegna il punto, che $root := . salva il contesto originale e che il punto locale resta l'elemento del ciclo. 🔁

Domande Frequenti

La lezione «Conservare il punto root all'interno di range» è gratuita?

Sì — il testo completo di «Conservare il punto root all'interno di range» è gratuito qui sul web. Per esercitarvi in modo interattivo (un editor di codice integrato e un tutor IA 24/7) e sbloccare il resto del corso Helm Academy, passa a CoddyKit PRO. Il corso Helm Academy include 4 lezioni in totale.

Cosa imparerò in «Conservare il punto root all'interno di range»?

Utilizzi un riferimento root salvato nei loop Eserciti Helm Academy con codice pratico che esegui direttamente nel browser, e un tutor IA 24/7 risponde alle tue domande mentre lavori sulla lezione.

Ho bisogno di esperienza per iniziare Helm Academy?

Non è richiesta alcuna esperienza precedente. Helm Academy su CoddyKit è strutturato per principianti e studenti avanzati, quindi puoi iniziare da qui o dall'inizio e procedere al tuo ritmo. Questa è la lezione 2 di 4.

Quanto tempo richiede la lezione «Conservare il punto root all'interno di range»?

La maggior parte delle lezioni CoddyKit richiede circa 5–10 minuti. Ogni lezione è breve e interattiva, quindi fai progressi costanti e riprendi esattamente da dove hai lasciato su web e app.

Posso scrivere ed eseguire codice in questa lezione Helm Academy?

Sì. Ogni lezione Helm Academy include un editor di codice integrato, quindi scrivi ed esegui codice reale direttamente nel tuo browser e ricevi feedback istantaneo dall'IA — nessuna configurazione locale necessaria.

Tutte le lezioni di questo corso

  1. Assegnare variabili di template
  2. Conservare il punto root all'interno di range
  3. nindent e indent nella pratica
  4. Eseguire il debug degli spazi nel rendering
← Torna a Helm Academy