YAML.add_builtin_type
YAML.add_domain_type
YAML.add_private_type
YAML.add_ruby_type
YAML.dump( obj, io = nil )
与えられた obj を YAML フォーマットに変換し、io に書き込みます。 io が与えられていない場合は、YAML フォーマットの文字列を返します。
YAML.dump( ['badger', 'elephant', 'tiger'], File.open('sample.yml', 'w') )
YAML.dump_stream(*objs)
与えられた objs を順に YAML フォーマットに変換していき、一つの文字列にまとめたものを返します。
require "yaml" puts YAML.dump_stream( "hoge\nfoo", [1,2], {"foo" => "bar"} ) --- |- hoge foo --- - 1 - 2 --- foo: bar
YAML.each_document(io){|obj| ...}
YAML.load_documents(io){|obj| ...}
与えられた io から YAML フォーマットの文書をすべて順に読み込み Ruby のオブジェクトに変換し、 生成したオブジェクトを引数としてブロックを評価していきます。
# 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"}
YAML.each_node
YAML.load(io)
YAML.load(str)
YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。 引数として IO オブジェクトと文字列を受け付けます。 io や 文字列が複数の YAML ドキュメントを含んでいても、最初のものしか Ruby のオブジェクトに変換しません。
$ ruby-1.8 -ryaml -e ' p YAML.load(<<HERE) - apple - banana - carrot --- foo: bar HERE ' ["apple", "banana", "carrot"]
YAML.load_file( file )
与えられた名前のファイルから YAML フォーマットの文書を読み込み Ruby のオブジェクトを生成して返します。 ファイルが複数の YAML ドキュメントを含んでいても、最初のものしか Ruby のオブジェクトに変換しません。
YAML.load_stream(io)
与えられた io から YAML フォーマットの文書をすべて順に読み込んで Ruby のオブジェクトに変換していき、 それらオブジェクトを含んだ YAML::Stream を返します。
YAML.parse
YAML.parse_documents
YAML.parse_file