Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > yaml/streamライブラリ > YAML::Streamクラス > emit
emit(io = nil) -> IO | String[permalink][rdoc]ストリームに含まれる各ドキュメントを引数 io に YAML 形式で書き込みます。 io が nil の場合は文字列を返します。
require 'yaml'
class Dog
attr_accessor :name
def initialize(name)
@name = name
end
end
ys = YAML::Stream.new
ys.add(Dog.new("pochi"))
ys.edit(1, { :age => 17, :color => "white"})
ys.edit(2, [ "Chiba", "Saitama"])
ys.emit.split(/\n/).each {|l|
puts l
}
#結果
--- !ruby/object:Dog
name: pochi
---
:age: 17
:color: white
---
- Chiba
- Saitama