YAML では、簡単に 複数行の文字列 を作成できます。ただし、|
文字を使用して、(主に構成ファイル内の読みやすさのために)複数行の配列を作成する機能が必要です。
YAMLarrayは['key1', 'key2', 'key3']
として表すことができます。
YAMLsequenceは、ダッシュ、スペース、文字列の順に使用します。
- String1
- String2
- String3
これは['string1', 'string2', 'string3']
に評価されます。
YAMLmappingは、YAMLで常に表示されるキーと値のペアの配列です。
Key1: string1
Key2: string2
Key3: string3
これはすべてうまくいきますが、私の人生では、複数行の配列を行う方法を見ることができません。このようなもの:
|
['string1', 'string2', 'string3']
['string4', 'string5', 'string6']
YAMLで複数の配列マッピングを作成し、選択したプログラミング言語でそれらをマージする以外に、多分{ }
のようなPythonがYAMLにある複数行配列を実現する方法はありますか?
YAML シーケンスは配列です。したがって、これはそれを表現する正しい方法です。
key:
- string1
- string2
- string3
- string4
- string5
- string6
それは次の意味と同じです:
key: ['string1', 'string2', 'string3', 'string4', 'string5', 'string6']
また、単一行の配列を複数の行に分割することもできます。
key: ['string1', 'string2', 'string3',
'string4', 'string5',
'string6']
さらに、単一行の配列に複数行の文字列があります。
key: ['string1', 'long
string', 'string3', 'string4', 'string5', 'string6']
これを試しましたか?
-
name: Jack
age: 32
-
name: Claudia
age: 25
これを取得します:[{"name"=>"Jack", "age"=>32}, {"name"=>"Claudia", "age"=>25}]
(YAML
Rubyクラスを使用します)。
以下が機能します:
myarray: [
String1, String2, String3,
String4, String5, String5, String7
]
Snakeyaml実装を使用してテストしましたが、他の実装についてはわかりません。
配列要素の値が小さい場合、私にとっては次のとおりであり、読みやすさの観点からは良いことです:
key: [string1, string2, string3, string4, string5, string6]
注:使用されるsnakeyaml実装