Percorrendo listas e mapas com range
Gere YAML repetido a partir de uma coleção.
Percorrendo listas e mapas com range é uma aula grátis de Helm Academy no CoddyKit. Esta é a aula 3 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Helm Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Helm Academy inclui 4 aulas no total.
Repita sem copiar e colar
Quando um valor contém uma lista, raramente você quer digitar cada entrada manualmente. A ação range percorre uma coleção e renderiza YAML para cada item.
A ação range
Um laço começa com {{ range SOMETHING }} e termina com {{ end }}. O bloco entre eles é renderizado uma vez para cada elemento da coleção. 🔁
{{ range .Values.hosts }}
- host: {{ . }}
{{ end }}O ponto se torna o item
Dentro de um range, o ponto é vinculado novamente ao elemento atual, não à raiz. Assim, {{ . }} imprime o item que está sendo processado nesta passagem.
hosts:
- api.example.com
- web.example.comPercorrendo uma lista simples
Dada uma lista de strings, range emite uma linha de YAML para cada valor. O resultado é uma lista limpa e de tamanho dinâmico, controlada inteiramente pelos valores.
args:
{{ range .Values.flags }}
- {{ . }}
{{ end }}Índice e valor
Precisa também da posição? Capture ambos com duas variáveis. Em cada passagem, range fornece primeiro o índice e depois o valor.
{{ range $i, $v := .Values.ports }}
# port {{ $i }} is {{ $v }}
{{ end }}Percorrendo um mapa
Percorra um mapa com range e as duas variáveis se tornarão a chave e o valor. Isso é perfeito para transformar um mapa de valores em rótulos ou variáveis de ambiente.
{{ range $key, $val := .Values.labels }}
{{ $key }}: {{ $val }}
{{ end }}As chaves do mapa vêm ordenadas
O Helm percorre as chaves do mapa em ordem alfabética, não na ordem de inserção. Isso mantém a saída renderizada estável e facilita as diferenças entre execuções.
Acessando a raiz internamente
Como o ponto agora é o item, .Values fica inacessível dentro do laço. Capture primeiro a raiz com $ para continuar lendo-a.
{{ range .Values.envs }}
name: {{ $.Release.Name }}-{{ . }}
{{ end }}Listas vazias não renderizam nada
Se a coleção estiver vazia, range simplesmente não produzirá saída e ignorará seu bloco. Sem itens, não há corpo de laço, exatamente como você deseja.
Atenção à indentação
Cada passagem precisa estar alinhada sob a chave pai. Os laços costumam ser combinados com o auxiliar indent para que o YAML repetido fique na profundidade correta. 🧱
Combine range com if
Aninhe um if dentro de um range para filtrar enquanto percorre a coleção. Apenas os itens que passarem na condição renderizarão seu bloco; os demais serão ignorados.
{{ range .Values.users }}
{{ if .active }}
- {{ .name }}
{{ end }}
{{ end }}Verificação rápida
Você percorre uma lista de strings com {{ range .Values.hosts }}.
Recapitulação
Agora você pode percorrer coleções com range, ler itens por meio do ponto reatribuído, obter o índice ou a chave e acessar a raiz com $. A repetição está sob controle! 🎯
Perguntas Frequentes
A aula “Percorrendo listas e mapas com range” é grátis?
Sim — o texto completo de “Percorrendo listas e mapas com range” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Helm Academy, atualize para CoddyKit PRO. O curso de Helm Academy inclui 4 aulas no total.
O que vou aprender em “Percorrendo listas e mapas com range”?
Gere YAML repetido a partir de uma coleção. Você pratica Helm Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Helm Academy?
Nenhuma experiência prévia é necessária. Helm Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 3 de 4.
Quanto tempo leva a aula “Percorrendo listas e mapas com range”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Helm Academy?
Sim. Cada aula de Helm Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Blocos condicionais com if e else
- Veracidade e operadores em condições
- Percorrendo listas e mapas com range
- Definindo o escopo de um bloco com with