Ruby 1.9.2 リファレンスマニュアル > ライブラリ一覧 > library yaml > module YAML > parse_documents

module function YAML.#parse_documents

parse_documents(io) {|obj| ...}

与えられた io から YAML フォーマットの文書をパースし YAML::Syck::Nodeオブジェクトに変換し、 生成したオブジェクトを引数としてブロックを評価していきます。

[PARAM] YAML:
フォーマットの文書のIOオブジェクトもしくは文字列
require 'yaml'

YAML.parse_documents(DATA){|doc|
  doc.search('/dog//name').each {|node|
    p node
  }
  p "-->"
}

__END__
cat:
 - name: taro
   age: 7
 - name: jiro
   age: 23
---
dog:
 shiba:
  - name: goro
    age: 3
  - name: rokuro
    age: 1
# end of sample

#=> "-->"
#=> "/dog/shiba/0/name"
#=> "/dog/shiba/1/name"
#=> "-->"