はじめてのYAML
YAMLは可読性に優れたデータ直列化フォーマット。ネストされた要素を字下げで表現することにより、無用なマークアップを不要にしている。すなわち、YAMLはマークアップ言語と同様の機能を持つが、マークアップ を何も必要としない(YAML Ain't Markup LanguageがYAMLの語源)。このため、XML と比べて読みやすい、書きやすい、わかりやすいという特徴を有する。
YAMLについてはプログラマーのための YAML 入門 (初級編)が分かりやすい。
YAMLの構造
YAMLではデータを次の3つの組み合わせで表現する。
ハッシュ
ハッシュは「キー: 値」の形式で表現する。コロン「:」のあとに半角スペースを 1 つ以上入れること(タブ文字は不可)
A: aaa B: bbb C: ccc
配列とハッシュのネスト
配列とハッシュはお互いにネストさせることが可能。
- name: Hanako email: flower@mail.com - name: Sumire email: garnet@mail.net - name: Momoko email: peach@mail.org
ブロックスタイルとフロースタイル
[aaa, bbb, ccc] {"A"=>"aaa", "B"=>"bbb", "C"=>"ccc"}
コメント行
「#」から行末までがコメントとして扱われる。
複数行の文字列
複数行の文字列は以下のように扱う。
## 各行の改行を保存する text1: | aaa bbb ccc
## 各行の改行を保存する text1: | ## 各行の改行と、最終行に続く改行を保存する text2: |+ ## 各行の改行は保存するが、最終行の改行は取り除く text3: |- ## 改行を半角スペースに置き換える、ただし最終行の改行は保存される text4: > ## 改行を半角スペースに置き換え、最終行に続く改行を保存する text5: >+ ## 改行を半角スペースに置き換え、最終行の改行を取り除く text6: >-