YAML: sangría y separación
La sangría y la separación son dos conceptos principales cuando está aprendiendo cualquier lenguaje de programación. Este capítulo trata en detalle estos dos conceptos relacionados con YAML.
Sangría de YAML
YAML no incluye espacios obligatorios. Además, no es necesario ser coherente. La sangría válida de YAML se muestra a continuación:
a:
b:
- c
- d
- e
f:
"ghi"
Debe recordar las siguientes reglas al trabajar con sangría en YAML: Los bloques de flujo deben tener al menos algunos espacios con el nivel de bloque actual circundante.
El contenido de flujo de YAML abarca varias líneas. El comienzo del contenido de flujo comienza con{ o [.
Los elementos de la lista de bloques incluyen la misma sangría que el nivel de bloque circundante porque - se considera parte de la sangría.
Ejemplo de bloque previsto
Observe el siguiente código que muestra la sangría con ejemplos:
--- !clarkevans.com/^invoice
invoice: 34843
date : 2001-01-23
bill-to: &id001
given : Chris
family : Dumars
address:
lines: |
458 Walkman Dr.
Suite #292
city : Royal Oak
state : MI
postal : 48046
ship-to: *id001
product:
- sku : BL394D
quantity : 4
description : Basketball
price : 450.00
- sku : BL4438H
quantity : 1
description : Super Hoop
price : 2392.00
tax : 251.42
total: 4443.52
comments: >
Late afternoon is best.
Backup contact is Nancy
Billsmer @ 338-4338.
Separación de cuerdas
Las cadenas se separan mediante una cadena entre comillas dobles. Si escapa de los caracteres de nueva línea en una cadena determinada, se elimina por completo y se traduce en un valor de espacio.
Ejemplo
En este ejemplo, hemos enfocado la lista de animales listados como una estructura de matriz con el tipo de datos de cadena. Cada nuevo elemento se enumera con un prefijo de guión como se menciona como prefijo.
-
- Cat
- Dog
- Goldfish
-
- Python
- Lion
- Tiger
Otro ejemplo para explicar la representación de cadenas en YAML se menciona a continuación.
errors:
messages:
already_confirmed: "was already confirmed, please try signing in"
confirmation_period_expired: "needs to be confirmed within %{period}, please request a new one"
expired: "has expired, please request a new one"
not_found: "not found"
not_locked: "was not locked"
not_saved:
one: "1 error prohibited this %{resource} from being saved:"
other: "%{count} errors prohibited this %{resource} from being saved:"
Este ejemplo se refiere al conjunto de mensajes de error que un usuario puede utilizar con solo mencionar el aspecto clave y obtener los valores en consecuencia. Este patrón de YAML sigue la estructura de JSON que puede ser entendido por el usuario que es nuevo en YAML.