15
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

YAML覚書

Last updated at Posted at 2015-09-08

YAML覚書

YAML(ヤムル)とは
構造化されたデータの表記仕様、xmlに比べてわかりやすい、書きやすいが実現されている
データ構造
インデントを使い階層構造を表現する。ただし、インデントにはタブが使えずスペースのみが使える。スペース2個単位でインデントすることが多い

表記方法

シーケンス(配列)

行頭に - をつけると配列を表現

- alpha
- bravo
- charlie

解釈→ ['alpha', 'bravo', 'charlie']

半角スペースでのネスト表記

- alpha
-
  - bravo1
  - bravo2
  - 
    - bravo2_1
    - bravo2_2
  - charlie

解釈→ ['alpha', 'bravo1', 'brabo2', ['brabo2_1', 'brabo2_2'], 'charlie']

箇条書き表記はできない

- alpha
  - alpha1
  - alpha2
  - alpha3

解釈→ ['alpha  - alpha1  - alpha2  - alpha3']

マッピング(ハッシュ)

ハッシュは キー: 値 で表す。:の後に半角スペースを1つ以上入れること

a: alpha
b: bravo
c: charlie

解釈→ {'a' => 'alpha', 'b' => 'bravo', 'c' => 'charlie'}

ネスト表記

a: alpha
b:
  b1: bravo1
  b2: bravo2
c: charlie


解釈
{
	'a' => 'alpha',
	'b' => {
		'b1' => 'bravo1',
		'b2' => 'bravo2'
	},
	'c' => 'charlie'
}

解釈できない

b: bravo
  b1: bravo1
  b2: bravo2

配列とハッシュ

- name: Hoge
  email: hoge@hoge.com
- name: Foo
  email: foo@foo.com


解釈
[
  {
    name: Hoge
    email: hoge@hoge.com
  },
  {
    name: Foo
    email: foo@foo.com
  }
]

データ型

! を使うとデータの型を明示的に指定する

- !str 123
- !pairs
  - A: alpha
  - B: bravo

解釈
['123', [['A' => 'alpha'], ['B' => 'bravo']]]

複数行の文字列

各行の改行を保存

text: |
  alpha
  bravo
  charlie


{"text" => "alpha\nbrabo\ncharlie\n"}

インデント幅指定

- |2
  alpha
  bravo
  charlie

["  alpha\n", "  brabo\n", "  charlie\n"]
15
17
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
15
17

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?