0Pricing
Helm Academy · Lektion

Den Root-Punkt innerhalb von range beibehalten

Verwenden Sie in Schleifen eine gespeicherte Referenz auf die Wurzel.

Den Root-Punkt innerhalb von range beibehalten ist eine kostenlose Helm Academy-Lektion auf CoddyKit. Dies ist Lektion 2 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Helm Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Helm Academy-Kurs umfasst insgesamt 4 Lektionen.

Der Punkt kann sich bewegen

Innerhalb einer range-Schleife bezeichnet der Punkt nicht mehr die Chart-Root, sondern das aktuelle Element. Das bringt viele Einsteiger beim Erstellen von Templates durcheinander.

Warum das problematisch ist

Sobald der Punkt neu gebunden wurde, funktionieren Ausdrücke wie .Values oder .Release innerhalb der Schleife nicht mehr, weil der Root-Kontext nicht länger der Punkt ist.

Zuerst den Root-Kontext speichern

Die Lösung ist einfach: Speichern Sie den Root-Punkt vor der Schleife in einer Variable. Über diese Variable können Sie innerhalb von range wieder auf den ursprünglichen Kontext zugreifen.

{{ $root := . }}

Den gespeicherten Root verwenden

Ersetzen Sie innerhalb der Schleife jeden chartweiten Pfad durch den Zugriff über Ihre Variable. Schreiben Sie $root.Values statt .Values, um den lokalen Punkt zu umgehen.

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

Der lokale Punkt funktioniert weiterhin

Für das Schleifenelement selbst verwenden Sie weiterhin den einfachen Punkt. Innerhalb von range ist der Punkt das aktuelle Element – genau das, was Sie dort benötigen.

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

Element und Root kombinieren

In echten Templates benötigen Sie beides gleichzeitig: das Element über den Punkt und einen Chart-Wert aus dem Root-Kontext. Mit $root können Sie auf beides übersichtlich zugreifen.

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

Eine gängige Namenswahl

Viele Charts nennen diese Variable $root oder $top, aber der Name bleibt Ihnen überlassen. Entscheidend ist, dass Sie den Punkt speichern, bevor range ihn neu bindet.

range mit Index und Wert

Die Form mit zwei Variablen bindet Index und Wert direkt, sodass der Punkt frei bleibt. Trotzdem ist es am sichersten, den Root-Kontext zu speichern.

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

Dieselbe Falle innerhalb von with

Auch der with-Block bindet den Punkt an einen Teilbaum. Derselbe Trick mit dem gespeicherten Root rettet Ihre chartweiten Verweise auch innerhalb dieses Blocks.

Die Ausgabe der Schleife testen

Rendern Sie das Chart und prüfen Sie die Schleife. helm template zeigt, ob jede Iteration die Root-Werte wie erwartet aufgelöst hat.

helm template ./mychart

Vor dem Betreten speichern

Die Reihenfolge ist wichtig: Weisen Sie $root := . außerhalb der Schleife zu. Speichern Sie den Wert innerhalb von range, ist der Punkt bereits neu gebunden und Sie sichern den falschen Wert.

Kurztest

Innerhalb einer range-Schleife liefert {{ .Values.port }} plötzlich nichts zurück.

Zusammenfassung

Sie haben gelernt, dass range den Punkt neu bindet, dass $root := . den ursprünglichen Kontext speichert und dass der lokale Punkt das Schleifenelement bleibt. 🔁

Häufig gestellte Fragen

Ist die Lektion „Den Root-Punkt innerhalb von range beibehalten“ kostenlos?

Ja — der vollständige Text von „Den Root-Punkt innerhalb von range beibehalten“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Helm Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Helm Academy-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Den Root-Punkt innerhalb von range beibehalten“?

Verwenden Sie in Schleifen eine gespeicherte Referenz auf die Wurzel. Du übst Helm Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Helm Academy zu starten?

Keine Vorkenntnisse erforderlich. Helm Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 2 von 4.

Wie lange dauert die Lektion „Den Root-Punkt innerhalb von range beibehalten“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Helm Academy-Lektion Code schreiben und ausführen?

Ja. Jede Helm Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Template-Variablen zuweisen
  2. Den Root-Punkt innerhalb von range beibehalten
  3. nindent und indent in der Praxis
  4. Gerenderten Leerraum debuggen
← Zurück zu Helm Academy