Dans YAML , vous pouvez facilement créer des chaînes multilignes . Cependant, j'aimerais pouvoir créer un tableau multiligne (principalement pour la lisibilité dans les fichiers de configuration) en utilisant le |
caractère.
Un YAML réseau peut être représentée comme suit: ['key1', 'key2', 'key3']
.
Une séquence YAML utilise un tiret suivi d'un espace puis d'une chaîne:
- String1
- String2
- String3
Ce évaluerait à: ['string1', 'string2', 'string3']
.
Un mappage YAML est un tableau de paires de clés et de valeurs que nous voyons tout le temps dans 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 multiligne. Quelque chose comme ça:
|
['string1', 'string2', 'string3']
['string4', 'string5', 'string6']
À moins de créer plusieurs mappages de tableaux en YAML et de les fusionner dans le langage de programmation de mon choix, y a-t-il un moyen de réaliser des tableaux multi-lignes, peut-être avec { }
comme Python mais en YAML?
Réponses:
Une séquence YAML est un tableau . Voici donc la bonne façon de l'exprimer:
C'est identique dans le sens à:
Il est également légal de diviser un tableau sur une seule ligne sur plusieurs lignes:
et même avoir des chaînes multilignes dans des tableaux sur une seule ligne:
la source
avez-vous essayé cela?
J'obtiens ceci:
[{"name"=>"Jack", "age"=>32}, {"name"=>"Claudia", "age"=>25}]
(j'utilise laYAML
classe Ruby).la source
Ce qui suit fonctionnerait:
Je l'ai testé en utilisant l'implémentation snakeyaml, mais je ne suis pas sûr des autres implémentations.
la source
myarray: [String1, String2, String3,
et la deuxième ligne est `String4, String5, String5, String7]`La suite fonctionne pour moi et c'est bon du point de vue de la lisibilité lorsque les valeurs des éléments du tableau sont petites:
Remarque: implémentation snakeyaml utilisée
la source
Si vous avez besoin d'un tableau de tableaux, vous pouvez procéder de cette façon:
la source