type=class
superclass=Object
included=
extended=
dynamically_included=
dynamically_extended=
library=psych
aliases=
aliasof=

YAML のパーサ。

このクラスは YAML ドキュメントをパースし、コンストラクタに渡された
ハンドラにイベントを通知(呼び出し)します。
このイベントを使って YAML の AST を構築したり YAML ドキュメントを
別のフォーマット変換したりします。
[[c:Psych::Emitter]] を使うとパースしたドキュメントを元通りに出力
することもできます。

[[c:Psych::Parser]] が生成するイベントは [[c:Psych::Handler]] 
を見てください。

以下の例では YAML ドキュメント に含まれているスカラー値を表示します。

  # Handler for detecting scalar values
  class ScalarHandler < Psych::Handler
    def scalar value, anchor, tag, plain, quoted, style
      puts value
    end
  end

  parser = Psych::Parser.new(ScalarHandler.new)
  parser.parse(yaml_document)

次の例は [[c:Psych::Emitter]] にパースの結果を戻しています。
STDIN からの入力をパース→YAMLフォーマットで STDERR に出力
という流れになっています。

  parser = Psych::Parser.new(Psych::Emitter.new($stderr))
  parser.parse($stdin)

[[c:Psych::Parser]] と [[c:Psych::TreeBuilder]] を組み合わせると
YAML の AST を構築することができます。
