parse_stream(yaml, filename: nil) -> Psych::Nodes::StreamRuby 1.9.3 から[permalink][rdoc][edit]parse_stream(yaml, filename: nil) {|node| ... } -> ()-
YAML ドキュメントをパースします。
yamlが 複数の YAML ドキュメントを含む場合を取り扱うことができます。ブロックなしの場合は YAML の AST (すべての YAML ドキュメントを保持した Psych::Nodes::Stream オブジェクト)を返します。
ブロック付きの場合は、パースした各 YAML ドキュメントの Psych::Nodes::Document オブジェクトが順にブロックに渡されます。この場合の返り値には意味がありません。
filenameはパース中に発生した例外のメッセージに用います。- [PARAM]
yaml: - YAML ドキュメント(文字列 or IO オブジェクト)
- [PARAM]
filename: - Psych::SyntaxError 発生時にファイル名として表示する文字列。
- [EXCEPTION]
Psych::SyntaxError: - YAMLドキュメントに文法エラーが発見されたときに発生します
[SEE_ALSO] Psych::Nodes
例
例 ブロック付きrequire 'psych' p Psych.parse_stream("---\n - a\n - b") # => #<Psych::Nodes::Stream:0x00>require 'psych' Psych.parse_stream("--- a\n--- b\n") do |doc| p doc.children.first.value end # => "a" # "b" - [PARAM]