Tableaux multilignes YAML
dans YAML , vous pouvez facilement créer multi-line strings . Cependant, je voudrais la possibilité de créer un tableau multi-lignes (principalement pour la lisibilité dans les fichiers de configuration) en utilisant le caractère |
.
a YAML array peut être représenté comme: ['key1', 'key2', 'key3']
.
YAML séquence utilise un tiret suivi d'un espace et d'une chaîne:
- String1
- String2
- String3
cela correspondrait à: ['string1', 'string2', 'string3']
.
YAML cartographie est un tableau de paires clé-valeur que nous voyons tout le temps en YAML:
Key1: string1
Key2: string2
Key3: string3
tout cela est bien beau, mais je ne peux pas pour la vie de moi voir comment faire un tableau multi-ligne. Quelque chose comme ceci:
|
['string1', 'string2', 'string3']
['string4', 'string5', 'string6']
à moins de créer des mappages de réseaux multiples dans YAML et de les fusionner dans mon avec le langage de programmation de choix, y a-t-il un moyen de réaliser des tableaux multilignes, peut-être avec { }
comme Python mais en YAML?
3 réponses
YAML séquence est un array . C'est donc la bonne façon de l'exprimer:
key:
- string1
- string2
- string3
- string4
- string5
- string6
c'est identique au sens de:
key: ['string1', 'string2', 'string3', 'string4', 'string5', 'string6']
il est également légal de diviser un tableau en une seule ligne sur plusieurs lignes:
key: ['string1', 'string2', 'string3',
'string4', 'string5',
'string6']
et ont même des chaînes multi-lignes dans des tableaux à une seule ligne:
key: ['string1', 'long
string', 'string3', 'string4', 'string5', 'string6']
La suivante devrait fonctionner:
myarray: [
String1, String2, String3,
String4, String5, String5, String7
]
Je l'ai testé en utilisant l'implémentation snakeyaml, mais je ne suis pas sûr des autres implémentations.
avez-vous essayé?
-
name: Jack
age: 32
-
name: Claudia
age: 25
, j'obtiens ceci: [{"name"=>"Jack", "age"=>32}, {"name"=>"Claudia", "age"=>25}]
(j'utilise le YAML
classe Ruby).