YAML
ファイルの書き方ルールだよ
構造化されたデータを表現できるよ
「YAML Ain't a Markup Language」の略だよ
簡単に書くよ
YAML(読:ヤムル、ヤメル)とは
構造化されたデータを表現するのに便利な、ファイルの書き方ルール(のひとつ)
です。
詳しく書くよ
ちょっと大雑把過ぎる説明ですが、サクっと一言で説明すると
ファイルの書き方ルールのひとつ
が「YAML」です。
「ヤメル」と読む人もいるようですが私は「ヤムル」と読んでいます。
ちなみに「YAML Ain't a Markup Language(ヤムル・エイント・マークアップ・ランゲージ)」の略で「YAML」ね。
気が向いたら、覚えてあげてください。
※「YAML Ain't a Markup Language」を何となく日本語にすると「YAMLはマークアップ言語じゃないよ」となります。[詳細]
例えば、そうですね。
誰かが「ホームページのファイルは、こんな書き方にしようぜ!」と書き方のルールを作りました。
そして、それに「HTML」と名前を付けました。
それ以来、ホームページを作る人は「HTML」というルールに従ってホームページのファイルを書いています。
同じように、誰かが「データをやり取りするときは、こんな書き方にしようぜ!」と書き方のルールを作りました。
そして、それに「XML」と名前を付けました。
それ以来、気が向いた人は「XML」のルールに従って作ったデータをやり取りしています。
でも、世の中にはXMLが嫌いな人がいました。
「XMLなんて嫌いだ!データをやり取りするときは、こんな書き方にしよう!」と別の書き方ルールを作った人がいたのです。
※これは例え話です。実際にXMLを嫌いな人がYAMLを作ったとは限りません。
その人は、データをやり取りするときは
user:
- name: piyota
age: 18
mail:
- piyota@example.com
- piyopiyo@example.com
- name: piyoko
age: 17
mails:
- piyoko@example.com
- piyopiyo@example.com
みたいな書き方にしようよ~、と言いました。
この
user:
- name: piyota
age: 18
mail:
- piyota@example.com
- piyopiyo@example.com
- name: piyoko
age: 17
mails:
- piyoko@example.com
- piyopiyo@example.com
みたいな書き方の名前が「YAML」です。
データのやり取りはもちろん、設定ファイルの記述ルールや、データを保存するときのひとつの形式として使われています。
人間同士でコミュニケーションを取るときは何らかの「言語」を使います。
言語というのは、声の出し方や文字の書き方のルールです。
話すのを例にとると、声はすべて人間の口から出る音です。
でも、音の高低や組み合わせによって、異なる言語になりますよね。
それは「こんな音を出したら、○○語ね」なルールがあるからです。
世界には、いろいろな言語があります。
そして、それぞれの言語(声の出し方や文字の書き方のルール)に対して「日本語」「英語」「中国語」などの名前が付いています。
それと同じです。
あなたがファイルに文字を書く(打ち込む)とします。
ホームページを作りたければ、ホームページ用の書き方ルールに従って書くでしょう。
「HTML」という名前が付いているルールに従って書くことになります。
HTML以外にも「これをやるときは、こんな書き方をしよう」なファイルの書き方ルールがたくさんあります。
その、たくさんある書き方ルールのひとつがYAMLです。
言語が「日本語」「英語」「中国語」など、たくさんあるのと同じです。
ファイルの書き方ルールも「HTML」「XML」「YAML」など、たくさんあるのです。
YAMLが具体的にどんなルールなのかは、専門的に解説しているところで情報を補完してください。
私もざっと見てみたのですが、ここで書き方のルールを細かく説明してしまうと、このサイトの趣旨とズレてくるので止めておきます。
決して面倒くさいわけじゃないですよ。ホントだよ。
一言でまとめるよ
まぁ「YAML」って単語が出てきたら「ファイルの書き方ルールなんだな~」と お考えください。
おまけ
■訳してみるよ
「YAML(ヤムル、ヤメル)」は「YAML Ain't a Markup Language(ヤムル・エイント・マークアップ・ランゲージ)」の略です。
「YAML」は固有名詞だと思ってください。
「ain't(エイント)」の意味は「~ではない」とかです。
「mark(マーク)」の意味は「印」とかです。
「up(アップ)」の意味は「上へ」とかです。
「mark up(マーク・アップ)」で「印をつける」的な意味になります。
「language(ランゲージ)」の意味は「言語」とか「言葉」とかです。
何となく くっつけると
YAMLは印を付ける言語ではない
となります。






