yamlの特徴
- インデントを使って、データの階層構造を表現する
- そのため、インデントが少しでもずれるとうまく実行されなかったりするので、ちゃんとしたエディタを使う必要がある
- XMLのような終了タグが必要なく、シンプル
- データを配列、ハッシュ、スカラーの3つの組み合わせで表現できる
データの表現方法
配列
yaml
- aaa
- bbb
- ccc
ハッシュ
yaml
A: aaa
B: bbb
C: ccc
スカラー
- 配列やハッシュ以外の数値や文字列のデータ
- 以下を自動的に判別し、それ以外を文字列と認識する(文字列をシングルクオートなどで囲む必要がない)
- 整数
- 浮動小数点
- 真偽値
- Null型
- 日付
- タイムスタンプ
2つのスタイル
- ブロックスタイルとフロースタイルがある
- 通常はブロックスタイルを使う
配列の場合
- ブロックスタイル
yaml
- aaa
- bbb
- ccc
- フロースタイル
yaml
[aaa, bbb, ccc]
ハッシュの場合
- ブロックスタイル
yaml
A: aaa
B: bbb
C: ccc
- フロースタイル
yaml
{A: aaa, B: bbb, C: ccc}
少し複雑なyaml
配列を持つハッシュ
- フロースタイル
yaml
XXX: [aaa, bbb, ccc]
- ブロックスタイル
yaml
XXX:
- aaa
- bbb
- ccc
ハッシュを持つ配列
- フロースタイル
yaml
[{id: 1, name: Tom}, {id:2, name: Kate}]
- ブロックスタイル
yaml
-
id: 1
name: Tom
-
id: 2
name: Kate