YAML

YAML は再帰的頭字語であり、「YAML Ain’t a Markup Language」の略であるとされる。構造化されたデータをテキストで表現する形式。同じくテキストでデータを扱う JSON や CSV、XML などと用途が重なる。

参考:

YAML [Official]

書き方

  • スカラー値
  • リスト
  • 連想配列
  • スタイル
    • ブロック形式
    • フロー形式/インライン形式
  • アンカー/エイリアス (anchor / alias)
  • 継承 (extend)
  • コメント (#)
  • セパレータ (---)
  • 改行の処理
  • タグ

参考:

YAML の基本について | TASK NOTES

基本記法まとめ – Qiita

プログラマーのための YAML 入門 初級編 | Rubyist Magazine (るびま)

YAML を覚えよう | エンジニア成長日記

Ansible のための YAML 入門 | DevelopersIO

Learn yaml in Y Minutes | Learn X in Y Minutes

YAML Syntax | Ansible Documentation

Reference | YAML Ain’t Markup Language [Official]

概要

参考:

YAML – Wikipedia

スカラー値

YAML では、以下のデータ型を自動的に判別する。

  • 整数
  • 浮動小数点
  • 真偽値 (true / yes / false / no)
  • Null値 (null / ~)
  • 日付 (yyyy-mm-dd)
  • タイムスタンプ (yyyy-mm-dd hh:mm:ss [+-]hh:mm)

これら以外は文字列として認識される。また引用符「'」や二重引用符「"」で囲むと、強制的に文字列として認識される。

参考:

スカラーとデータ型 – プログラマーのための YAML 入門 初級編 | Rubyist Magazine (るびま)

YAML での true とか nil とか空文字列とか [] の出力 | Going My Ruby Way (archive)

アンカーとエイリアスを使う (anchor / alias)

  • アンカー指定した項目以下の構造化されたデータに対してアンカーを作成する → &name
  • エイリアス指定した項目の位置でアンカーを参照する → *name

参考:

YAML の Anchor と Alias を使って config を DRY に書く | valid, invalid

Link for variables in group vars – Stack Overflow

Using YAML anchors in Ansible role tasks file – Stack Overflow

Override YAML subkey – Stack Overflow

Using node anchors and merge keys split over different yaml files – Stack Overflow

継承 (extend)

  • 継承指定した項目の位置でアンカーで参照されたデータを継承する → <<: *name
  • インラインアンカー単一のプロパティのみにアンカーを作成する → <<: &name

参考:

yaml の anchor で継承 (extend) して繰り返し書いている部分を減らすメモ | ひと夏の技術

Anchors, References, Extend | daemonl

キーにアンカーを使う

参考:

Anchors for keys? – Stack Overflow

エイリアスを展開する

参考:

alias を展開して出力するツールを作りました | Shin x Blog

タグ

参考:

タグ | Tociyuki Diary

I don’t understand what a YAML tag is – Stack Overflow

タグディレクティブ

参考:

TAG Directives | YAML Version 1.2 [Official]

オンラインツール

参考:

Online YAML Parser (yaml-online-parser.appspot.com)

Best YAML Formatter: Format & Beautify YAML | MTP Tools

Best YAML Validator Online (codebeautify.org)

まとめ

参考:

yaml/yaml: YAML Language and Community Information – GitHub

記事をシェアする:
タグ:

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

Protected by reCAPTCHA