元Webデザイナー兼コーダーの備忘録

HTML,CSSの入門記事やブログのカスタマイズについてアウトプットしています。

 menu

【YAML入門】複雑なデータ

「ハッシュの中身が配列」である場合と「配列の中身がハッシュ」である場合の書き方を見ていきます。言葉で説明するよりもコードを見た方が早いと思います。こちらもブロックスタイルとフロースタイルの2つの記述ができます。なお、この記事はドットインストールというプログラミング学習サービスの内容を参考にしています。

作成するファイル

  • parse.rb
  • data.yml:データファイル

シーケンスのマッピング

ファイルをそれぞれ以下のように作成します。

# parse.rb
require 'yaml'

emails = YAML.load_file('data.yml')

p emails
# data.yml
name:
  - hoge
  - fuga
score:
  - 90
  - 100

以下のコマンドで出力を確認します。

ruby parse.rb
{"name"=>["hoge", "fuga"], "score"=>[90, 100]}

フロースタイル

上記と同じデータをフロースタイルで書くと以下のようになります。

names: [hoge, fuga]
score: [90, 100]

マッピングのシーケンス

- name: hoge
  score: 90
- name: fuga
  score: 100

以下のコマンドで出力を確認します。

ruby parse.rb
[{"name"=>"hoge", "score"=>90}, {"name"=>"fuga", "score"=>100}]

フロースタイル

上記と同じデータをフロースタイルで書くと以下のようになります。

- {name: hoge, score: 90}
- {name: fuga, score: 100}

まとめ

複雑なデータの記述について見ていきました。入れ子構造なので、インデントに注意して記述してください。

参考サイト