0Pricing
Helm Academy · Aula

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.com

Percorrendo 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

  1. Blocos condicionais com if e else
  2. Veracidade e operadores em condições
  3. Percorrendo listas e mapas com range
  4. Definindo o escopo de um bloco com with
← Voltar para Helm Academy