Ruby 1.8.7 リファレンスマニュアル > ライブラリ一覧 > yamlライブラリ > YAMLモジュール > each_document

singleton method YAML.each_document

each_document(io) {|obj| ...} -> nil[permalink][rdoc]
load_documents(io) {|obj| ...} -> nil

与えられた io から YAML フォーマットの文書をすべて順に読み込み Ruby のオブジェクトに変換し、 生成したオブジェクトを引数としてブロックを評価していきます。

[PARAM] io:
YAMLフォーマットの文書の読み込み先のIOオブジェクト
# sample.yml
- apple
- banana
- carrot
---
foo: bar

#!/usr/bin/env ruby
require "yaml"
File.open( 'sample.yml' ) do |io|
  YAML.load_documents(io){|y|
    p y
  }
end
#=>   ["apple", "banana", "carrot"]
#=>   {"foo"=>"bar"}

[注意] ブロックを指定しないと NoMethodError が発生する事に注意してください。