LoginSignup
21
14

More than 3 years have passed since last update.

YAML基本文法まとめ

Last updated at Posted at 2019-10-04
1 / 12

YAMLとは

YAMLとは、配列や連想配列などの構造化されたデータを表現できるテキストフォーマットの1つです。
似た目的で使われるものにJSONやINI、XMLなどがありますが、
YAMLはその中でもインデントが必須であったり、文字列のクォートが不要であったりと、読み書きのしやすいフォーマットです。


YAMLのいいところ

・コメント書ける(JSONは書けない)
・文字列のクォートが不要(数値や真偽値などとして判定されない文字列なら)
・インデントが強制されるので読みやすい

YAMLの文法

YAMLは自由度が高くいろいろな書き方ができますが、基本だけまとめます。


基本

  • ハッシュ
    基本はキーバリュー(連想配列)の形
    属性名(キー)と値をコロンで区切る
key01: value01
key02: value02
  • 配列
    頭にハイフン + スペース
list:
 - element01
 - element02
 - element03

  • ネスト
    要素の入れ子はスペース2つ
parent:
  child:
    child_attr01: 100
    child_attr02: 200
  • コメント
    先頭に"#"で一行コメント
    インラインコメントも可能
# This is comment.
name: john
age: 22        # This is comment too.

データ型

YAMLの値はいくつかの型を表現できます。(この他にも日付型等もある)

  • 文字列
  • 数値
  • 真偽値
  • NULL

  • 文字列
    通常は文字列扱い
string: hello!
  • 数値
    数字のみの場合は数値として扱われる
number: 3

  • 真偽値
    true or false(全て小文字)で真偽値
bool01: true
bool02: false
  • NULL
    null(全て小文字)でNULL
null: null

  • 数値のみや"null"などの文字列
    クォート(シングル or ダブル)で囲うことで文字列であることを明示
not_number: "3"
not_null: "null"

もう一つの書き方

JSONっぽい書き方もあります。これを「フロースタイル」といいます。
(通常の書き方は「ブロックスタイル」)
※本当はJSONは全てブロックスタイルで書いたYAMLなので、YAMLが先


  • 配列(フロースタイル)
[element01, element02, element03]
  • ハッシュ(フロースタイル)
{key01: value01, key02: value02, key03: value03}

ブロックスタイルとの混在も可

  list01:
    - element01
    - element02
  list02:
    [element01, element02, element03]
  hash01:
    key01: value01
    key02: value02
  hash02:
    {key01: value01, key02: value02, key03: value03}

Return

:point_down: Dockerコンテナ構築手順② Docker Compose編
https://qiita.com/aminosan000/private/6f1d1b1e730e01907fbc

21
14
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
21
14