YAMLとは? わかりやすく解説

ヤムル

【英】 YAML

人間読みやすいデータ記法のこと。YAMLの場合記号インデントデータ階層表現する手動での編集確認がしやすく、XMLより読みやすいため、最近では使用例増えてきている。

PHPではデフォルト読み書きする機構備わっていないものの、ライブラリ組み合わせることで、YAMLの読み書きすることができる


YAML

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2024/05/24 02:01 UTC 版)

YAML
拡張子 .yaml, .yml
MIMEタイプ application/yaml
初版 2001年5月11日 (23年前) (2001-05-11)
最新版
1.2 (Third Edition)
(2009年10月1日 (14年前) (2009-10-01))
種別 Data interchange
オープン
フォーマット
Yes
ウェブサイト yaml.org

YAML(ヤメル[1][2]、ヤムル[3])とは、構造化データやオブジェクト文字列シリアライズ(直列化)するためのデータ形式の一種。

特徴

テキストのため可読である。その概念はXMLプログラミング言語であるCPythonPerlからきている。YAMLの原案はクラーク・エバンス[4]、ブライアン・インガーソン[5]、オーレン・ベンキク[6]が共同で出した。

YAMLは再帰的に定義された頭字語でありその語源は「YAML Ain't a Markup Language.(→YAMLはマークアップ言語じゃない)である。初期には「Yet Another Markup Language(→もうひとつ別のマークアップ言語)と言われていたが、マークアップよりもデータ重視を目的としていたために後付されてできた名前である。しかしながら XML(本当のマークアップ言語)がデータシリアライズ目的のために頻繁に使用されるため、 YAMLを軽量マークアップ言語と考えることもできる。類似の規格としてJSONがある。

表記方法

インデントを使い階層構造を表現する。ただし、インデントにはタブが使えずスペースのみが使える[7]。スペース2個単位でインデントすることが多い。

# は行コメント。---は、一つのファイル内に複数のYAMLドキュメントを埋め込むときに用いるセパレータ。

リスト

--- # お好みの映画、ブロック形式
- Casablanca
- Spellbound
- Notorious
--- # 買い物リスト、インライン形式、またはフロー形式
[milk, bread, eggs]

連想配列

--- # ブロック
name: John Smith
age: 33
--- # インライン
{name: John Smith, age: 33}

各行の改行の維持

--- |
  There was a young fellow of Warwick
  Who had reason for feeling euphoric
      For he could, by election
      Have triune erection
  Ionic, Corinthian, and Doric

最終行の改行のみ維持し他はスペース一字に置換

--- >
  Wrapped text
  will be folded
  into a single
  paragraph
  
  Blank lines denote
  paragraph breaks

ハッシュのリスト

- {name: John Smith, age: 33}
- name: Mary Smith
  age: 27

リストのハッシュ

men: [John Smith, Bill Jones]
women:
  - Mary Smith
  - Susan Williams

データ構造

YAML木は3種類の基本ノード、sequence, mapping, scalar からなる[8]。各ノードは kind, content, tag によって特徴づけられる[9]

実装

YAMLは次の言語で利用可能である。

脚注

  1. ^ Yet Another Markup Language (YAML) 1.0”. The Official YAML Web Site (2001年5月26日). 2016年2月15日閲覧。
  2. ^ - Symfony”. Symfony, High Performance PHP Framework for Web Development. 2016年2月15日閲覧。
  3. ^ ヤムル - PHPプロ!用語集”. PHPプロ!. 2017年3月23日閲覧。
  4. ^ : Clark Evans
  5. ^ : Brian Ingerson
  6. ^ : Oren Ben-Kik
  7. ^ プログラマーのための YAML 入門 (初級編)”. 日本Rubyの会. 2017年3月23日閲覧。
  8. ^ "YAML represents any native data structure using three node kinds: sequence ...; mapping ...; and scalar" YAML specification v1.2.2.
  9. ^ "Each YAML node requires ... kind and content ... tag" YAML specification v1.2.2.

関連項目

外部リンク


YAML

出典: フリー百科事典『ウィキペディア(Wikipedia)』 (2021/08/27 00:25 UTC 版)

Ansible (ソフトウェア)」の記事における「YAML」の解説

Ansibleにおける一連の処理はPlaybookという単位にまとめられPlaybookはYAML形式記述されるChefはじめとしてその他の構成管理ツールでは独自のDSL採用することが多い一方でAnsibleでは一般的なYAML形式採用することで、可読性高く学習が容易であると言われている。 一方で一般的な記述採用する故に、他の構成管理ツール比較して複雑な処理を苦手とする側面があり、多段の条件分岐反復構造を取る場合はかえって記述難解となるケースみられる

※この「YAML」の解説は、「Ansible (ソフトウェア)」の解説の一部です。
「YAML」を含む「Ansible (ソフトウェア)」の記事については、「Ansible (ソフトウェア)」の概要を参照ください。

ウィキペディア小見出し辞書の「YAML」の項目はプログラムで機械的に意味や本文を生成しているため、不適切な項目が含まれていることもあります。ご了承くださいませ。 お問い合わせ



固有名詞の分類


英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「YAML」の関連用語

YAMLのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



YAMLのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
PHPプロ!PHPプロ!
©COPYRIGHT ASIAL CORPORATION ALL RIGHTS RESERVED.
ウィキペディアウィキペディア
All text is available under the terms of the GNU Free Documentation License.
この記事は、ウィキペディアのYAML (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。 Weblio辞書に掲載されているウィキペディアの記事も、全てGNU Free Documentation Licenseの元に提供されております。
ウィキペディアウィキペディア
Text is available under GNU Free Documentation License (GFDL).
Weblio辞書に掲載されている「ウィキペディア小見出し辞書」の記事は、WikipediaのAnsible (ソフトウェア) (改訂履歴)、JavaScript Object Notation (改訂履歴)の記事を複製、再配布したものにあたり、GNU Free Documentation Licenseというライセンスの下で提供されています。

©2025 GRAS Group, Inc.RSS