No YAML , você pode criar facilmente seqüências de várias linhas . No entanto, eu gostaria da capacidade de criar uma matriz de várias linhas (principalmente para facilitar a leitura nos arquivos de configuração) usando o |
caractere.
Um YAML matriz pode ser representada como: ['key1', 'key2', 'key3']
.
Uma sequência YAML usa um traço seguido por um espaço e, em seguida, uma sequência:
- String1
- String2
- String3
Este seria avaliada como: ['string1', 'string2', 'string3']
.
Um mapeamento YAML é uma matriz de pares de chave e valor que vemos o tempo todo no YAML:
Key1: string1
Key2: string2
Key3: string3
Tudo está bem, mas pela minha vida não consigo ver como fazer uma matriz de várias linhas. Algo assim:
|
['string1', 'string2', 'string3']
['string4', 'string5', 'string6']
Com falta de criar vários mapeamentos de matriz no YAML e mesclá-los na minha linguagem de programação de escolha, existe alguma maneira de obter matrizes de várias linhas, talvez com o { }
Python como o YAML?
Respostas:
Uma sequência YAML é uma matriz . Portanto, este é o caminho certo para expressá-lo:
O significado é idêntico a:
Também é legal dividir uma matriz de linha única em várias linhas:
e ainda possui seqüências de várias linhas em matrizes de linha única:
fonte
você já tentou isso?
Eu recebo o seguinte:
[{"name"=>"Jack", "age"=>32}, {"name"=>"Claudia", "age"=>25}]
(eu uso aYAML
classe Ruby).fonte
O seguinte funcionaria:
Eu testei usando a implementação snakeyaml, mas não tenho certeza sobre outras implementações.
fonte
myarray: [String1, String2, String3,
e a segunda linha é `String4, String5, String5, String7]`O seguinte funciona para mim e é bom do ponto de vista da legibilidade quando os valores dos elementos da matriz são pequenos:
Nota: Implementação snakeyaml usada
fonte
Se o que você precisa é de uma matriz de matrizes, você pode fazer o seguinte:
fonte