YAMLファイルの便利な記述
YAMLファイルの前提知識
YAMLファイルの内部構造が以下の通りだった場合、xxxの部分はキーといいyyyの部分を値と言います。
また、値の部分が改行され、インデントの後に-、スペース、値と続いた場合は配列と言います。
ほかにも値の部分が改行され新たなキーと値が入ってた場合は辞書配列と言います。
xxx
:
&
y
yyy
zzz
:
-data1
-data2
-*
y
direc
:Obj1
:"1"
Obj2
:1
Obj3
:|
改行を含んだ状態で データが挿入される。 改行した際には \nという文字列が入る。
Obj4
:"\ ダブルクォーテーションで囲んで\ 行の末尾にバックスラッシュを挿入すると\ 改行コードが挿入されなくなる。"
本題
上のコードを引き続き使用していきます。
同じ値を代入
同じ値にしたいデータの前に&<NameSpase>を入れるとYAMLファイル内でそのデータが保存されます。これをアンカーといいます。
*<NameSpase>と記入するとそのデータが出力されます。これをエイリアスと言います。
上記の場合だとzzzの配列番号を0から数えたとすると2番目にもyyyというデータが挿入されます。また、これは辞書配列データや配列データにも有効です。
改行コードを含ませる方法
キーの後を改行し、その行に|を入力すると改行した部分に改行コード(\n)を含ませることができます。
また、ダブルクォーテーションで囲っても改行コードを含ませることができます
改行コードを含ませずに改行する方法
文字列をダブルクォーテーションで囲い、改行する場所に\を挿入すると改行コード無しの状態にできます。
感想
&<NameSpase>や*<NameSpase>は自分はあんまり使いませんね。
ただ知ってて損はないと思います。