YAMLとRubyのデータ構造の相互変換
YAMLは構造化されたデータを文字列で記述するデータ形式だ。
Rubyではyamlライブラリを使って、YAMLとRubyのオブジェクトを相互変換することができる。
YAMLからRubyのオブジェクトを得るには、YAML.load
を使う。
require 'yaml' yaml = <<YAML - {name: Alice, age: 16} - {name: Bob, age: 24} - {name: Carol, age: 30} YAML p YAML.load(yaml) #=> [{"name"=>"Alice", "age"=>16}, {"name"=>"Bob", "age"=>24}, {"name"=>"Carol", "age"=>30}]
逆にRubyのオブジェクトをYAMLに変換するには、YAML.dump
を使う。
require 'yaml' obj = [{"name"=>"Alice", "age"=>16}, {"name"=>"Bob", "age"=>24}, {"name"=>"Carol", "age"=>30}] puts YAML.dump(obj) =begin --- - name: Alice age: 16 - name: Bob age: 24 - name: Carol age: 30 =end