YAML es la abreviatura de “otro lenguaje de marcado” o “YAML no es lenguaje de marcado”, la última sigla recursiva que se utiliza para enfatizar que YAML es para datos y no para documentos. YAML es un lenguaje de serialización de datos que se usa para escribir archivos de configuración para la implementación de infraestructura. Por ejemplo, si desea implementar una aplicación Docker en Kubernetes, usaría un archivo YAML para configurar la instancia. YAML es legible por humanos, por lo que es fácil crear un archivo y leer las instrucciones durante las implementaciones.
Si es nuevo en YAML, no pasará mucho tiempo antes de que se dé cuenta de que necesita una forma de dividir sus cadenas en varias líneas, una de las preguntas de YAML más frecuentes en la web. En este artículo, cubriremos los dos enfoques principales de las cadenas multilínea de YAML, así como otras preguntas frecuentes.
YAML y Whitespace: Qué debe saber
Los archivos YAML utilizan espacios en blanco y retornos de carro, pero el contenido se serializa cuando se ingiere en un recurso específico. Los desarrolladores que crean un archivo YAML pueden formatear el texto usando sangrías y espaciado para facilitar la lectura. YAML trata los espacios en blanco de manera similar a otros idiomas, por lo que puede tener tantos como sea necesario para formatear un archivo.
Cómo romper líneas para cadenas multilínea YAML
Al ingerir archivos YAML, es posible que ocasionalmente desee mantener los saltos de línea en una cadena multilínea. Tomemos como ejemplo el siguiente pseudocódigo:
clave:
elemento1
elemento2
elemento3
Después de cada partida (p. ej., partida 1, partida 2 y partida 3), tiene un retorno de carro. Si deja la sintaxis YAML tal como está, la cadena se convierte en la siguiente:
artículo1 artículo2 artículo3
Este formato de cadena crea una cadena larga sin ningún formato de retorno de carro, por lo que es posible que desee conservar los saltos de línea. Las rupturas de línea se pueden conservar con el operador literal. El operador literal es el carácter de la tubería (“|”). Para preservar las interrupciones de línea, su sintaxis YAML debe cambiarse a lo siguiente:
clave: |
elemento1
elemento2
elemento3
Observe el carácter de la tubería después de la directiva “clave”. Cuando la aplicación ingiera el archivo YAML, se convertirá a la siguiente cadena:
elemento1\nartículo2\nartículo3
El carácter “\n” representa una nueva línea. La impresión de esta cadena en una aplicación mostrará cada elemento con un retorno de carro adjunto para preservar el formato en las instrucciones de YAML.
Bloques multilínea YAML frente a cadenas largas
Para las cadenas largas, debe usar bloques multilínea para leer un archivo YAML. Por ejemplo, si tiene un párrafo de 250 palabras en un archivo YAML, debe dividir las oraciones en bloques multilínea. No debería conservar los retornos del carro, excepto al final de un párrafo. Puede formatear un archivo YAML para usar varias líneas para cadenas largas y serializar la cadena para agregar espacios a cada elemento en lugar de un nuevo carácter de línea.
Para usar un carácter de espacio en blanco en lugar de agregar una nueva línea, use el operador plegado (“>”):
clave: >
elemento1
elemento2
elemento3
Con el operador plegado, YAML agrega un espacio cuando crea la cadena. La cadena tiene el siguiente aspecto:
elemento1 elemento2 elemento3\n
Preguntas frecuentes sobre YAML Multiline
¿Cómo se inserta una ruptura de línea en YAML?
Mediante el uso del operador literal (“|”), se conservará cualquier ruptura de línea en una cadena YAML. Cree una interrupción de línea usando la pulsación de tecla de retorno de carro de la misma manera que crea una interrupción de línea en un documento estándar. El siguiente ejemplo conserva el retorno de carro en una cadena YAML:
clave: |
elemento1
elemento2
elemento3
¿Puede YAML tener líneas en blanco?
Sí, una cadena representada como bloque de texto también puede contener líneas en blanco. El operador de mantenimiento (“|+”) conserva las líneas vacías en blanco junto con el nuevo carácter de línea. El siguiente YAML es un ejemplo de una cadena multilínea con dos líneas vacías al final del bloque:
clave: |+
elemento1
elemento2
elemento3
Un analizador YAML mostrará la siguiente cadena de la sintaxis anterior:
elemento1\nartículo2\nartículo3\n\n
¿A YAML le importa el espacio en blanco?
Un espacio en blanco de pestaña es un carácter ilegal en YAML, por lo que cualquier marca debe utilizarse con un carácter de espacio único estándar. Las pestañas se pueden usar en cadenas citadas, pero no se pueden usar para formatear un archivo YAML. La consistencia en las sangrías de espacio en blanco es importante para la legibilidad de los datos.
¿Se permiten espacios en YAML?
Sí, puede tener espacios estándar en un archivo YAML. Los espacios deben utilizarse para sangrías y no para el carácter de la pestaña. Los caracteres de la pestaña pueden causar errores durante el análisis de un archivo YAML.