ヘッダとフッタ
『---』でデータ構造を区切る事で1つのファイルに複数のYAMLドキュメントを含めることができます
『...』でデータ構造を区切る事とそれ以降は読込まれません。『__END__』のようなものです。
--- name: foo email: foo@mail.com --- name: bar email: bar@mail.org ... name: baz email: baz@mail.net
【YAMLストリームとドキュメントの例】
# ここから始まるバイト列は、UTF-8で記述されたYAMLストリームだ。 # このストリームは、四つのドキュメントからなる。 # このストリームの初めのドキュメントは、ヘッダ行が省略してある。 # 中身はブロックマッピング。 今日の晩御飯: - 桜肉の大和煮(缶詰) - ロシアブレッド(100円の30パーセント引き) - ぼたもち(あんこときなこ) 昨日の晩御飯: - ふじりんご二個 # 次はヘッダ行で始まる新たなドキュメント # 中身はブロックシーケンス --- - 渡辺 - 大丸 - 岩田(三越) - 松屋 # 例えばこれが何かのプログラムが不定期に吐き出すログかなんかだとして、 # 次のドキュメントが来るまで3時間かかるとすると、 # 上のドキュメントが処理されるのも3時間後になる。 # しかし、ここで ... # を入れてあげると、ドキュメントの終わりを認識して処理を始めるから # 三時間待たなくても済む。 # 三時間経過 # 次はフローマッピング --- {date: 2003-11-19, note: "今日は眠かった。" } # 最後はスカラ --- | 毎回例を考えるのはとてもめんどくさい 仕様書の例は適切でシンプルで分りやすいが、 なかなかそうはいかない