Dans YAML , vous pouvez facilement créer chaînes multilignes . Cependant, j'aimerais pouvoir créer un tableau multiligne (principalement pour la lisibilité dans les fichiers de configuration) à l'aide du caractère |
.
Un tableau YAML peut être représenté par: ['key1', 'key2', 'key3']
.
Une séquence YAML utilise un tiret suivi d'un espace puis d'une chaîne:
- String1
- String2
- String3
Cela serait évalué à: ['string1', 'string2', 'string3']
.
Un mappage YAML 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 vois pas comment faire un tableau multiligne. Quelque chose comme ça:
|
['string1', 'string2', 'string3']
['string4', 'string5', 'string6']
À part la création de plusieurs mappages de tableaux dans YAML et leur fusion dans le langage de programmation de mon choix, existe-t-il un moyen de créer des tableaux à plusieurs lignes, peut-être avec { }
comme Python mais en YAML?
Un YAML sequence est un tablea. C'est donc la bonne façon de l'exprimer:
key:
- string1
- string2
- string3
- string4
- string5
- string6
C'est identique dans le sens de:
key: ['string1', 'string2', 'string3', 'string4', 'string5', 'string6']
Il est également légal de diviser un tableau d'une seule ligne en plusieurs lignes:
key: ['string1', 'string2', 'string3',
'string4', 'string5',
'string6']
et même avoir des chaînes multilignes dans des tableaux à une seule ligne:
key: ['string1', 'long
string', 'string3', 'string4', 'string5', 'string6']
avez-vous essayé cela?
-
name: Jack
age: 32
-
name: Claudia
age: 25
Je reçois ceci: [{"name"=>"Jack", "age"=>32}, {"name"=>"Claudia", "age"=>25}]
(j'utilise la classe YAML
Ruby.).
Ce qui suit fonctionnerait:
myarray: [
String1, String2, String3,
String4, String5, String5, String7
]
Je l'ai testé en utilisant l'implémentation de snakeyaml. Je ne suis toutefois pas sûr des autres implémentations.
Suivre Works pour moi est bon du point de vue de la lisibilité lorsque les valeurs des éléments du tableau sont faibles:
key: [string1, string2, string3, string4, string5, string6]
Note: implémentation de snakeyaml utilisée