Recorrer listas y mapas con range
Genere YAML repetido a partir de una colección
Recorrer listas y mapas con range es una lección gratuita de Helm Academy en CoddyKit. Esta es la lección 3 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Helm Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Helm Academy incluye 4 lecciones en total.
Repita sin copiar y pegar
Cuando un valor contiene una lista, rara vez querrá escribir cada entrada manualmente. La acción range recorre una colección y renderiza YAML para cada elemento.
La acción range
Un bucle comienza con {{ range SOMETHING }} y termina con {{ end }}. El bloque situado entre ambos se renderiza una vez por cada elemento de la colección. 🔁
{{ range .Values.hosts }}
- host: {{ . }}
{{ end }}El punto se convierte en el elemento
Dentro de un range, el dot se reasigna al elemento actual, no al raíz. Por eso {{ . }} imprime el elemento correspondiente a esa iteración.
hosts:
- api.example.com
- web.example.comRecorrer una lista sencilla
Dada una lista de cadenas, range genera una línea de YAML por cada valor. El resultado es una lista limpia y de tamaño dinámico, controlada por completo desde values.
args:
{{ range .Values.flags }}
- {{ . }}
{{ end }}Índice y valor
¿También necesita la posición? Capture ambas cosas con dos variables. Range le proporciona primero el index y después el valor en cada iteración.
{{ range $i, $v := .Values.ports }}
# port {{ $i }} is {{ $v }}
{{ end }}Recorrer un mapa
Al recorrer un mapa con range, las dos variables se convierten en la key y el valor. Es perfecto para transformar un mapa de values en etiquetas o variables de entorno.
{{ range $key, $val := .Values.labels }}
{{ $key }}: {{ $val }}
{{ end }}Las claves del mapa se ordenan
Helm recorre las claves del mapa en orden alphabetical, no en el orden de inserción. Esto mantiene estable el resultado renderizado y facilita las diferencias entre ejecuciones.
Acceder al raíz desde dentro
Como el punto ahora es el elemento, .Values deja de estar disponible dentro del bucle. Capture primero el raíz con $ para poder seguir leyéndolo.
{{ range .Values.envs }}
name: {{ $.Release.Name }}-{{ . }}
{{ end }}Las listas vacías no generan nada
Si la colección está vacía, range simplemente no produce ningún resultado y omite su bloque. Sin elementos no hay cuerpo del bucle, exactamente lo que necesita.
Vigile la sangría
Cada iteración debe alinearse debajo de la clave principal. Los bucles suelen combinarse con el helper indent para que el YAML repetido quede en el nivel correcto. 🧱
Combinar range con if
Anide un if dentro de un range para filtrar mientras recorre la colección. Solo los elementos que cumplen la condición renderizan su bloque; los demás se omiten.
{{ range .Values.users }}
{{ if .active }}
- {{ .name }}
{{ end }}
{{ end }}Comprobación rápida
Recorre una lista de cadenas con {{ range .Values.hosts }}.
Resumen
Ahora puede recorrer colecciones con range, leer los elementos mediante el punto reasignado, obtener el índice o la clave y acceder al raíz con $. ¡La repetición está bajo control! 🎯
Preguntas frecuentes
¿La lección «Recorrer listas y mapas con range» es gratis?
Sí — el texto completo de «Recorrer listas y mapas con range» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Helm Academy, actualiza a CoddyKit PRO. El curso de Helm Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Recorrer listas y mapas con range»?
Genere YAML repetido a partir de una colección Practicas Helm Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.
¿Necesito experiencia previa para empezar Helm Academy?
No se requiere experiencia previa. Helm Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 3 de 4.
¿Cuánto tiempo toma la lección «Recorrer listas y mapas con range»?
La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.
¿Puedo escribir y ejecutar código en esta lección de Helm Academy?
Sí. Cada lección de Helm Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.
Todas las lecciones de este curso
- Bloques condicionales con if y else
- Valores de verdad y operadores en condiciones
- Recorrer listas y mapas con range
- Delimitar un bloque con with