0Pricing
Helm Academy · Lekcja

Ustalanie zakresu bloku za pomocą with

Zawężanie kropki do poddrzewa i poznawanie pułapek.

Ustalanie zakresu bloku za pomocą with to bezpłatna lekcja Helm Academy na CoddyKit. To lekcja 4 z 4. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Helm Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Helm Academy zawiera 4 lekcji w sumie.

Koniec z powtarzaniem długich ścieżek

Wielokrotne wpisywanie .Values.image.repository staje się nieczytelne. Instrukcja with zawęża kropkę do poddrzewa, dzięki czemu można zapisywać krótsze ścieżki.

Instrukcja with

Blok with rozpoczyna się od {{ with SOMETHING }} i kończy za pomocą {{ end }}. Wewnątrz niego kropka zostaje przypisana do przekazanego elementu.

{{ with .Values.image }}
repository: {{ .repository }}
tag: {{ .tag }}
{{ end }}

Kropka wskazuje poddrzewo

Wewnątrz .repository oznacza .Values.image.repository. Słowo kluczowe with przypisuje kropkę do poddrzewa, skracając każdą ścieżkę znajdującą się poniżej.

image:
  repository: nginx
  tag: "1.27"

To także zabezpieczenie

Jeśli wartość jest pusta lub nie istnieje, with pomija cały swój blok. Instrukcja ta jednocześnie określa zakres kropki i działa jak if. 🛡️

Dodawanie gałęzi else

Podobnie jak if, with obsługuje gałąź else. else jest renderowane, gdy wartość jest pusta, dzięki czemu można elegancko obsłużyć opcjonalną konfigurację.

{{ with .Values.resources }}
resources:
{{ toYaml . | indent 2 }}
{{ else }}
# no resources set
{{ end }}

Pułapka zakresu

Oto pułapka: wewnątrz with kropka nie oznacza już korzenia. Dlatego .Release.Name nie działa, ponieważ Release nie znajduje się w tym poddrzewie.

Sięganie do korzenia za pomocą $

Aby używać wartości z korzenia wewnątrz with, należy poprzedzić je znakiem $. Dolar zawsze wskazuje pierwotny kontekst korzenia, niezależnie od głębokości zagnieżdżenia.

{{ with .Values.image }}
name: {{ $.Release.Name }}
image: {{ .repository }}
{{ end }}

Małe bloki

Ponieważ with przejmuje kropkę, duże bloki szybko stają się nieczytelne. Sekcje with powinny być krótkie, aby było oczywiste, na co wskazuje kropka.

with a if

Należy używać if, gdy sprawdzany jest tylko warunek, a with, gdy dodatkowo ma nastąpić przejście do wskazywanej wartości. with zmienia kropkę, natomiast if pozostawia ją bez zmian.

Podgląd zakresu

Nie wiadomo, co zawiera kropka? Należy użyć helm template i odczytać wynik albo wyświetlić zakres podczas debugowania trudnego bloku with.

helm template ./mychart

Zagnieżdżanie bloków with

Blok with można zagnieździć w innym bloku with, aby zejść głębiej w strukturę. Każdy poziom przesuwa kropkę o jeden krok w dół, dlatego należy śledzić bieżące położenie.

{{ with .Values.image }}
{{ with .pullSecrets }}
# . is now pullSecrets
{{ end }}
{{ end }}

Szybkie sprawdzenie

Wewnątrz bloku {{ with .Values.image }} próbuje się odczytać .Release.Name, ale wynik jest pusty.

Podsumowanie

Można już określać zakres kropki za pomocą with, korzystać z automatycznego zabezpieczenia przed pustą wartością, dodawać alternatywną gałąź else i sięgać do korzenia za pomocą $. Czystsze szablony! 🎯

Często zadawane pytania

Czy lekcja „Ustalanie zakresu bloku za pomocą with” jest bezpłatna?

Tak — pełny tekst „Ustalanie zakresu bloku za pomocą with” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Helm Academy, przejdź na CoddyKit PRO. Kurs Helm Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Ustalanie zakresu bloku za pomocą with”?

Zawężanie kropki do poddrzewa i poznawanie pułapek. Ćwiczysz Helm Academy z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Helm Academy?

Nie wymagamy żadnego doświadczenia. Helm Academy w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 4 z 4.

Ile czasu zajmuje lekcja „Ustalanie zakresu bloku za pomocą with”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Helm Academy?

Tak. Każda lekcja Helm Academy zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Bloki warunkowe z if i else
  2. Prawdziwość i operatory w warunkach
  3. Iterowanie po listach i mapach za pomocą range
  4. Ustalanie zakresu bloku za pomocą with
← Powrót do Helm Academy