Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > yaml/streamライブラリ > YAML::Streamクラス > edit

instance method YAML::Stream#edit

edit(doc_num, doc) -> ()[permalink][rdoc]

doc_num番目のドキュメントをdocに変更します。 もし、doc_numが現在のドキュメント数より大きい場合は間にはnilが挿入されます。

[PARAM] doc_num:
変更されるドキュメントの番号
[PARAM] doc:
適切なオブジェクト
require 'yaml'

class Dog
  attr_accessor :name
  def initialize(name)
    @name = name
  end
end

ys = YAML::Stream.new
ys.add(Dog.new("tama"))
ys.edit(1, Dog.new("pochi"))
ys.edit(5, Dog.new("jack"))
p ys.documents
#=> [#<Dog:0x2b07c44 @name="tama">, #<Dog:0x2b07c1c @name="pochi">, nil, nil, nil, #<Dog:0x2b07bf4 @name="jack">]