W YAML możesz łatwo tworzyć ciągi wieloliniowe . Chciałbym jednak mieć możliwość tworzenia wieloliniowej tablicy (głównie dla czytelności w plikach konfiguracyjnych) za pomocą |
znaku.
YAML tablica może być przedstawiony jako: ['key1', 'key2', 'key3']
.
Sekwencja YAML używa myślnika, po którym następuje spacja, a następnie ciąg:
- String1
- String2
- String3
To będzie oceniać do: ['string1', 'string2', 'string3']
.
Mapowanie YAML to tablica par kluczy i wartości, które widzimy cały czas w YAML:
Key1: string1
Key2: string2
Key3: string3
To wszystko jest w porządku, ale do końca życia nie mogę zobaczyć, jak zrobić tablicę wieloliniową. Coś takiego:
|
['string1', 'string2', 'string3']
['string4', 'string5', 'string6']
Oprócz tworzenia wielu mapowań tablic w YAML i scalania ich w wybranym przeze mnie języku programowania, czy istnieje sposób na osiągnięcie tablic wieloliniowych, może z { }
podobnymi do Pythona, ale w YAML?
Odpowiedzi:
YAML sekwencja jest tablicy . Oto właściwy sposób wyrażenia tego:
Ma to identyczne znaczenie jak:
Dozwolone jest również dzielenie jednowierszowej tablicy na kilka linii:
a nawet mają ciągi wieloliniowe w tablicach jednowierszowych:
źródło
próbowałeś tego?
Rozumiem:
[{"name"=>"Jack", "age"=>32}, {"name"=>"Claudia", "age"=>25}]
(używamYAML
klasy Ruby).źródło
Działałyby następujące rzeczy:
Przetestowałem to za pomocą implementacji snakeyaml, ale nie jestem pewien co do innych implementacji.
źródło
myarray: [String1, String2, String3,
i druga linia jest 'String4, String5, String5, String7] `Poniższe działa dla mnie i jest dobre z punktu widzenia czytelności, gdy wartości elementów tablicy są małe:
Uwaga: zastosowano implementację snakeyaml
źródło
Jeśli potrzebujesz tablicy tablic, możesz zrobić w ten sposób:
źródło