yaml
規格書
yamlが生まれた背景?
flow styleは一旦無視する
yamlではPythonのように、インデントが文法上の意味を持つ 規格書からサンプルコピペ
値の配列
code:2.1.yaml
- Mark McGwire
- Sammy Sosa
- Ken Griffey
code:2.1.json
mapping scalars to scalars
値から値へのobject
code:2.2.yaml
r: 65 # Home runs
avg: 0.278 # Batting average
rbi: 147 # Runs Batted In
code:2.2.json
{
"r": 65,
"avg": 0.278,
"rbi": 147
}
mapping scalars to sequences
値から配列へのobject
code:2.3.yaml
american:
- Boston Red Sox
- Detroit Tigers
- New York Yankees
national:
- New York Mets
- Chicago Cubs
- Atlanta Braves
code:2.3.json
{
}
sequence of mappings
objectの配列
code:2.4.yaml
-
name: Mark McGwire
hr: 65
avg: 0.278
-
name: Sammy Sosa
hr: 63
avg: 0.288
code:2.4.json
[
{
"name": "Mark McGwire",
"hr": 65,
"avg": 0.278
},
{
"name": "Sammy Sosa",
"hr": 63,
"avg": 0.288
}
]
一つのファイルに複数のyaml documentを埋め込める
---と...で囲んで、一つのyaml documentを表す
code:2.8.yaml
---
time: 20:03:20
player: Sammy Sosa
action: strike (miss)
...
---
time: 20:03:47
player: Sammy Sosa
action: grand slam
...
省略のルールは未調査
yamlにおけるprimitiveは値
厳密な型は存在しない?
いくつか書き方がある
先頭に|をつける
ただしindentとみなされた空白は削られる
先頭に>をつける
空行もしくはindentが\n扱いとなる
|,>の次に書いた文字は引数扱いになり、scalarには含まれない
次の行からscalarとして認識される
他の言語でもおなじみのやつ
code:2.18.yaml
plain:
This unquoted scalar
spans many lines.
quoted: "So does this
quoted scalar.\n"
""や''で囲むことなく、任意のscalarsを記述できる
中で"と書きたいときは、\"と書く
''で囲むスタイル
"をそのまま書ける
中で'と書きたいときは、''と書く
ルールが複雑な印象を持ったtakker.icon
型のこと?propsのこと?
!で型を明記できる?
comment
#で1行コメントを表す
文字列
改行を空白に変換したいときは>-を使う