load_stream(yaml, filename = nil, fallback: [], **kwargs) -> [object]Ruby 1.9.3 から[permalink][rdoc][edit]load_stream(yaml, filename = nil, fallback: [], **kwargs) {|obj| ... } -> ()-
複数の YAML ドキュメントを含むデータを Ruby のオブジェクトに変換します。
ブロックなしの場合はオブジェクトの配列を返します。
例require 'psych' p Psych.load_stream("--- foo\n...\n--- bar\n...") # => ['foo', 'bar']ブロックありの場合は各オブジェクトを引数としてそのブロックを呼び出します。
例require 'psych' list = [] Psych.load_stream("--- foo\n...\n--- bar\n...") do |ruby| list << ruby end p list # => ['foo', 'bar']ブロックなしの場合に
fallback の例yamlがドキュメントを 1 つも含まないときは、fallbackを返します。require 'psych' p Psych.load_stream("", fallback: [:none]) # => [:none]filenameはパース中に発生した例外のメッセージに用います。filenameはキーワード引数filename:でも指定できます。位置引数で指定した場合は、$VERBOSEが真のときに非推奨である旨の警告が出ます。その他のキーワード引数
kwargsは、各ドキュメントを変換する Psych::Nodes::Node#to_ruby にそのまま渡します。- [PARAM]
yaml: - YAML ドキュメント(文字列 or IO オブジェクト)
- [PARAM]
filename: - Psych::SyntaxError 発生時にファイル名として表示する文字列。
- [PARAM]
fallback: -
ブロックなしの場合に、
yamlがドキュメントを 1 つも含まないときの返り値を指定します。デフォルトは[]です。 - [PARAM]
kwargs: -
Psych::Nodes::Node#to_ruby に渡すキーワード引数(
symbolize_namesやfreezeなど)を指定します。 - [EXCEPTION]
Psych::SyntaxError: - YAMLドキュメントに文法エラーが発見されたときに発生します
- [PARAM]