YAML は,Ruby のオブジェクトをテキスト化するためのフォーマットです.

プログラム中で使っているデータをファイルに保存したり,逆にファイルから復元することができるので,プログラムの間でデータをやり取りすることができます.

フォーマットも分かりやすく,可読性が高いので,それほど大きくないデータを扱うのに便利です.

## 配列を YAML 化する
 require "yaml"
 data = %w(ほげ はげ げげ)
 yml = YAML.dump(data)
 print yml

結果は下の通り.

 - "ほげ"
 - "はげ"
 - "げげ"

YAML フォーマットのテキストを復元する

 # ソース続き
 p YAML::load(yml)  #=> ["ほげ", "はげ", "げげ"]

ファイルに保存,復元する

 require "yaml"
 data = %w(ほげ はげ げげ)
 # data を hoge.yml という YAML ファイルに書き込む
 yamlfile = "hoge.yml"
 File.open(yamlfile,"w") do |f|
   f.print YAML.dump(data)
 end
 
 # ファイルから読み込んだ YAML 形式のテキストを復元する
 data_2 = YAML::load(File.open(yamlfile,&:read))
 p data_2 # 復元されている