WINDIIテック現役フリーランスエンジニアが運営するテックメディア。RailsやLaravelなどモダンなWebフレームワークや、Dockerなどのインフラを触ると必ず出てくるYAML(ヤメル、ヤムル)。どこにでもいる上に、JSONやXMLを理解している人ならなんとなく理解できてしまうため、YAMLをよく使うけど、実はよくわかっていないという人も多いのではないでしょうか?そんな方のためにYAMLの仕様や書き方について基本からまとめました。YAMLで設定ファイルをサクッと書き上げるできるエンジニアになりましょう!YAMLとはYAMLは構造化データを人間の目にわかりやすいように表現できるように設計された言語です。Language」の頭文字を取っています。名前の定義の中に名前が入っている珍しいネーミングですね。カッコよくいうと再帰的に定義された頭文字です。(キリっ)(Wikipediaより)XMLなどのマークアップ言語と同じく構造化データを表現する言語の一つですが、YAMLは自身の名前でマークアップ言語ではないよ!と言っているように、マークアップ言語の課題であった、読みにくさを払拭してくれます。拡張子は.ymlまたは.yamlを使います。YAMLの文法それではさっそくYAMLの基本的な文法を紹介していきたいと思います。YAMLを理解する上でまずはじめに押さえておきたい点として、YAMLはスカラー、シーケンス、マッピングといったデータ形式をインデントで表現するのを基本としている点です。こちらのサイトでYAMLをJSONなどに変換できるので色々遊びながらやっていくといいと思います。https://codebeautify.org/yaml-to-json-xml-csvスカラーYAMLでは、数字や文字列、真偽値など基本的な値を表現できます。tanakaのように省略してもOKです。シーケンス(配列・リスト)YAMLでは要素の集合をシーケンスで表現できます。SQL要素はインデント、ダッシュ(-)、スペースの後に続けて書きます。マッピング(ハッシュ、辞書)YAMLではkey:value型のコレクションをマッピングとして表現できます。70コロン(:)のあとのスペースは必須です!コメント#から始める文章はコメントとして扱われ無視されます。tanakaシーケンス、マッピングのネストシーケンスの中にマッピングをネストしたり、マッピングの中にシーケンスをネストしたりすることができます。58JSON形式に変換すると以下のようになります。]}インライン記法マッピングやシーケンスをJSONのような形式でインラインに記述することができます。14}それぞれJSONに変換すると以下のようになります。}}マルチドキュメントYAMLでは一つのファイルに複数のドキュメントを区切って表現することができます。区切り文字として3つのダッシュ(—)を使います。文字列としてそのまま使うとエラーになります。これらの文字を使いたいときはクオートで囲みましょう。JSONJSONに変換すると以下のようになっています。"YAML\nxml\nJSON\n"}以上でYAMLの基本文法の紹介は終わりです。YAMLの書き方を理解して、YAML形式の設定ファイルをサクッと書き上げるかっこいいエンジニアになりたいものです。最新の記事WINDIIWINDII(ウィンディ)は、フリーランスエンジニアが運営するテックメディアです。Slackで無料コミュニティも運営しています。たくさんのエンジニアが参加していて、プログラミングの相談や雑談などをしている楽しいコミュニティなので、興味ある方はぜひお気軽にご参加ください。(全て見る)Canvaが最高すぎる。自分のローカルリポジトリをgithubで管理してsourcetreeでコミットするまでCanvaが最高すぎる。)この記事へのコメントはありません。この記事へのトラックバックはありません。URL返信をキャンセルする。