0Pricing
DevOps Bootcamp · Lección

Conservar el punto raíz dentro de range

Use una referencia raíz capturada dentro de los bucles

Conservar el punto raíz dentro de range es una lección gratuita de DevOps Bootcamp en CoddyKit. Esta es la lección 2 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 DevOps Bootcamp, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de DevOps Bootcamp incluye 4 lecciones en total.

El punto puede moverse

Dentro de un bucle range, el punto deja de representar la raíz del chart y pasa a apuntar al elemento actual. Esto confunde a muchos autores principiantes.

Por qué es un problema

Una vez que se reasigna el punto, expresiones como .Values o .Release dejan de funcionar dentro del bucle, porque el contexto raíz ya no es el punto.

Capturar primero la raíz

La solución es sencilla: antes del bucle, guarde el punto raíz en una variable. Después podrá acceder al contexto original mediante esa variable dentro de range.

{{ $root := . }}

Usar la raíz guardada

Dentro del bucle, cambie cualquier ruta global del chart para que pase por su variable. Escriba $root.Values en lugar de .Values para salir del punto local.

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

El punto local sigue funcionando

Para referirse al elemento del bucle, siga usando el punto sin modificaciones. Dentro de range, el punto representa el elemento actual, que es exactamente lo que necesita en ese contexto.

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

Combinar el elemento y la raíz

Las plantillas reales suelen necesitar ambas cosas a la vez: el elemento del punto y un valor del chart tomado de la raíz. Capturar $root le permite hacer referencia a cada uno con claridad.

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

Una elección de nombre habitual

Muchos charts llaman a esta variable $root o $top, pero el nombre lo elige usted. Lo importante es capturar el punto antes de que range lo reasigne.

range con índice y valor

La forma con dos variables vincula directamente el índice y el valor, por lo que el punto queda disponible. Aun así, capturar la raíz sigue siendo la práctica más segura.

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

La misma trampa dentro de with

El bloque with también reasigna el punto a un subárbol. El mismo truco de capturar la raíz le permite recuperar las referencias globales del chart dentro de él.

Probar la salida del bucle

Renderice el chart e inspeccione el bucle. helm template muestra si cada iteración resolvió los valores de la raíz como esperaba.

helm template ./mychart

Capturar antes de entrar

El orden importa: asigne $root := . fuera del bucle. Si lo captura dentro de range, el punto ya se habrá reasignado y guardará el valor equivocado.

Comprobación rápida

Dentro de un bucle range, {{ .Values.port }} de repente no devuelve nada.

Resumen

Ha aprendido que range reasigna el punto, que $root := . guarda el contexto original y que el punto local sigue representando el elemento del bucle. 🔁

Preguntas frecuentes

¿La lección «Conservar el punto raíz dentro de range» es gratis?

Sí — el texto completo de «Conservar el punto raíz dentro de 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 DevOps Bootcamp, actualiza a CoddyKit PRO. El curso de DevOps Bootcamp incluye 4 lecciones en total.

¿Qué aprenderé en «Conservar el punto raíz dentro de range»?

Use una referencia raíz capturada dentro de los bucles Practicas DevOps Bootcamp 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 DevOps Bootcamp?

No se requiere experiencia previa. DevOps Bootcamp 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 2 de 4.

¿Cuánto tiempo toma la lección «Conservar el punto raíz dentro de 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 DevOps Bootcamp?

Sí. Cada lección de DevOps Bootcamp 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

  1. Asignar variables de plantilla
  2. Conservar el punto raíz dentro de range
  3. nindent frente a indent en la práctica
  4. Depurar espacios en blanco renderizados
← Volver a DevOps Bootcamp