En YAML , puede crear fácilmente cadenas de varias líneas . Sin embargo, me gustaría la posibilidad de crear una matriz de varias líneas (principalmente para la lectura dentro de los archivos de configuración) utilizando el |
carácter.
A YAML array se puede representar como: ['key1', 'key2', 'key3']
.
Una secuencia YAML usa un guión seguido de un espacio y luego una cadena:
- String1
- String2
- String3
Este evaluaría a: ['string1', 'string2', 'string3']
.
Un mapeo YAML es una matriz de pares clave y valor que vemos todo el tiempo en YAML:
Key1: string1
Key2: string2
Key3: string3
Todo esto está muy bien, pero por mi vida no puedo ver cómo hacer una matriz de varias líneas. Algo como esto:
|
['string1', 'string2', 'string3']
['string4', 'string5', 'string6']
A falta de crear múltiples asignaciones de matriz en YAML y fusionarlas en mi lenguaje de programación de elección, ¿hay alguna forma de lograr matrices de varias líneas, tal vez con { }
Python como en YAML?
Respuestas:
Una secuencia YAML es una matriz . Entonces esta es la forma correcta de expresarlo:
Eso es idéntico en significado a:
También es legal dividir una matriz de una sola línea en varias líneas:
e incluso tienen cadenas de varias líneas en matrices de una sola línea:
fuente
has intentado esto?
Me sale esto:
[{"name"=>"Jack", "age"=>32}, {"name"=>"Claudia", "age"=>25}]
(uso laYAML
clase Ruby).fuente
Lo siguiente funcionaría:
Lo probé usando la implementación snakeyaml, aunque no estoy seguro de otras implementaciones.
fuente
myarray: [String1, String2, String3,
y la segunda línea es `String4, String5, String5, String7]`Seguir Works para mí y es bueno desde el punto de vista de legibilidad cuando los valores de los elementos de la matriz son pequeños:
Nota: implementación de snakeyaml utilizada
fuente
Si lo que necesita es una matriz de matrices, puede hacerlo de esta manera:
fuente