🕌
YAMLの複数行文字列の書き方
毎回調べているのでまとめてみました。
YAMLの複数行文字列値の書き方だいたい知っている人向け
そもそも書き方わからんという人は後述の内容を確認してください。
-
記号: 最初の行に書いた値
-
改行: 2 行目以降の文字列の末尾改行が何の文字に変換されるか
-
末尾: 最終行に追加される文字
-
例: 記号を使った場合の文字列
key: <記号> aaa bbb ccc
記号 | 改行 | 末尾 | 例 |
---|---|---|---|
なし | 空白 | なし | aaa bbb ccc |
| |
改行 | 改行 | aaa\nbbb\nccc\n |
|- |
改行 | なし | aaa\nbbb\nccc |
> |
空白 | 改行 | aaa bbb ccc |
>- |
空白 | なし | aaa bbb ccc |
+
記号は末尾の空行がそのまま改行になります。
記号 | 改行 |
---|---|
|+ |
改行 |
>+ |
空白 |
YAMLの複数行文字列値の説明
YAML で複数行の文字列値を記述する場合、以下のような記述ができます。
a:
aaa
bbb
ccc
b: |
aaa
bbb
ccc
c: |-
aaa
bbb
ccc
d: |+
aaa
bbb
ccc
e: >
aaa
bbb
ccc
f: >-
aaa
bbb
ccc
g: >+
aaa
bbb
ccc
これらは単一行文字列値にすると以下のような値になります。
a: "aaa bbb ccc"
b: "aaa\nbbb\nccc\n"
c: "aaa\nbbb\nccc"
d: "aaa\nbbb\nccc\n\n"
e: "aaa bbb ccc\n"
f: "aaa bbb ccc"
g: "aaa bbb ccc\n\n"
まとめ
- 最初の行の先頭の記号
-
|
の場合は次行以降の改行は改行の値となります。 -
>
の場合は次行以降の改行は空白の値となります。
-
- 最初の行の 2 つめの記号
- 未指定の場合は最終行の後に改行が挿入されます。
-
-
の場合は最終行の後には何も挿入されません。 -
+
の場合は最終行以降の空行の数 +1 だけ改行が挿入されます。
参考ページ
Discussion