» www.Giftbox.Az - Bir birindən gözəl hədiyyə satışı
ウィキペディアランダム
毎日カテゴリ
共有: WhatsappFacebookTwitterVK

YAML

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

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

特徴

テキストのため可読である。その概念は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検証ツール YAML Lint
  • Best Online YAML Converter Convert YAML Strings into JSON, XML, CSV
ウィキペディア、ウィキ、本、library、論文、読んだ、ダウンロード、自由、無料ダウンロード、mp3、video、mp4、3gp、 jpg、jpeg、gif、png、画像、音楽、歌、映画、本、ゲーム、ゲーム。