YAML入門の入門

Published: 2016年3月6日 by tomsato

概要

YAMLについて学びます

入門の入門なので簡潔にまとめます

Yamlとは

YAML Ain’t a Markup Language :YAMLはマークアップ言語ではないの意味

構造化されたデータを表現するためのデータ記法

似たようなものにはJSONやXMLなどがある

YAMLはどのような時に使うか

  • 各種設定ファイル
  • データ保存用・シリアライゼーション用
  • データ交換用フォーマット
  • ログファイル

XMLと比べた時の利点

  • 読みやすい (インデントでデータを階層化している)
  • 書きやすい (XMLとは違って終了タグがない)
  • わかりやすい (配列、ハッシュ、スカラーだけで表すので人間にとって理解しやすい)

Yamlをとりあえず書いてみる

まずはYAMLファイルの準備から

$ cat data.yml
# シャープでコメントもできるよ
# -とd1の間の空白は必須
- d1
- d2
- d3

YAMLをRubyを使って解析する

$ cat parse.rb
require 'yaml'

d = YAML.load_file('data.yml')
p d

実行してみる

$ ruby parse.rb
["d1", "d2", "d3"]

YAMLのファイルが配列として出力されている

YAMLの書き方

YAMLは主にマッピング(ハッシュのこと)とシーケンス(配列のこと)の組み合わせでデータを表現する

マッピング

サンプル

$ cat data.yml
# 字下げをすると入れ子することができる
# タブは× 必ず空白で
# 基本は空白2文字
- d1
-
  - x1
  - x2
- d3

実行

$ ruby parse.rb
["d1", ["x1", "x2"], "d3"]

シーケンス

サンプル

$ cat data.yml
# key: value
name: tomsato
emails: 
  main: hoge@gmail.com
  sub: hoge-sub@gmail.com

実行

$ ruby parse.rb
{"name"=>"tomsato", "emails"=>{"main"=>"hoge@gmail.com", "sub"=>"hoge-sub@gmail.com"}}
 

参考

コメントを書く

※ 個別に返信が必要な時のみご記入ください

※ Emailは公開されません

※ 承認されると名前・コメントが下記に表示されます

コメント一覧

最近の投稿

ビジュアルリグレッションテストについてまとめ、ネットで調べると数多くのライブラリがありどれがどんな立ち位置なのか全体像がわかりずらかったのでどんな種類があるのか入門の入門としてまとめます、またPlaywrightを使って実際に触ってみました

社内ツールなどの超小規模なAPIをGolangで実装する際にフレームワークを使うべきかを、実際にnet/httpを使った実装とフレームワークを使った実装を比較することでどれだけ優位性があるかを見ていきたいと思います。今回はフレームワークにはシンプルで使いやすそうなEchoを使うことにします。

vue-pdfを使ってNuxt.jsで作成しているアプリケーションに pdfスライドを表示させるサンプルを作成しました README.md通りに実装してもうまくいかないところがあったのでそのあたり含めてまとめます

Vue.js / Nuxt.jsにおけるログインの実装方法をまとめる Auth0やNuxt.jsのAuth Moduleとmiddlewareについて調べつつサンプルを作成することで理解を深める

コンポーネント設計について考える Atomic DesignやPresentational Component, Container Componentについてまとめつつ 自分だったらVue.js / Nuxt.jsでどういうコンポーネント設計にするかについてまとめます

カテゴリ一覧

タグ一覧