RubyでYAML形式ファイルの読み込み・書き出しを行う方法

YAML とは構造化されたデータを表現するフォーマットのひとつであり、設定ファイル、データ保存・交換、ログファイルなどでよく使われます。Ruby on Rails でも活用されており、Ruby では使う機会の多いデータ形式です。

今回は YAML 形式ファイルの読み込み・書き出しの方法を紹介します。

YAML 形式のデータを読み込む

Ruby で YAML 形式のデータを扱う場合は、標準ライブラリである yaml をインポートします。YAML 形式のファイルを読み込むときは、yaml ライブラリの load メソッドを使用します。

load メソッドの引数にはファイルオブジェクトを指定します。また、引数には YAML 形式の文字列を指定することもできます。load メソッドは戻り値としてパース後のオブジェクトを返します。

今回は例として以下のファイル(sample.yml)を読み込みます。

以下は sample.yml をパースするプログラムの例です。

上のプログラムを実行すると、YAML 形式のデータがハッシュオブジェクトに変換されて表示されます。

YAML 形式データの書き出し

YAML 形式ファイルの書き出しには、 dump メソッドを使用します。

以下は YAML ファイルへの書き出しのプログラム例です。

ファイルの中身を確認してみます。

ハッシュオブジェクトが YAML 形式に変換されファイルに書き込まれていることが確認できます。「---」は YAML データ形式の区切りを表し、複数の YAML データを扱うときに利用されるものです。パース時にオブジェクトには変換されません。


イベント