データをハッシュで表す場合の書き方を見ていきます。なお、この記事はドットインストールというプログラミング学習サービスの内容を参考にしています。
作成するファイル
- parse.rb
- data.yml:データファイル
まず、ファイルを以下のように作成します。
# parse.rb require 'yaml' emails = YAML.load_file('data.yml') p emails
マッピング(ハッシュ)の記法
マッピングの基本の書き方は以下です。
# data.yml name: hoge score: 90
ちなみに、上記はブロックスタイルの書き方です。
以下のコマンドで出力を確認します。
ruby parse.rb {"name"=>"hoge", "score"=>90}
フロースタイル
マッピングもブロックスタイルとフロースタイルの2つの記述のスタイルがあります。下記は、フロースタイルの書き方です。
# フロースタイル {name: hoge, score: 90}
入れ子構造
インデントで入れ子構造にします。
name: hoge score: game-1: 30 game-2: 40
以下のコマンドで出力を確認します。
ruby parse.rb {"name"=>"hoge", "score"=>{"game-1"=>30, "game-2"=>40}}
scoreの部分で入れ子になっているのが確認できます。
まとめ
マッピング(ハッシュ)の記法について見ていきました。シーケンスと同様に、ブロックスタイルとフロースタイルの2つの記述のスタイルがあります。