Ruby 3.3 リファレンスマニュアル

class Psych::Parser

[edit]

要約

YAML のパーサ。

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

Psych::Parser が生成するイベントは 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)

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

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

Psych::ParserPsych::TreeBuilder を組み合わせると YAML の AST を構築できます。

目次

特異メソッド
インスタンスメソッド
定数

特異メソッド

new(handler = Handler.new) -> Psych::ParserRuby 1.9.3 から[permalink][rdoc][edit]

新たなパーサオブジェクトを生成して返します。

handler で YAML のイベントを処理するハンドラを指定します。詳しくは Psych::Parser を参照してください。

[PARAM] handler:
YAML のイベントを処理するハンドラ

インスタンスメソッド

handler -> Psych::HandlerRuby 1.9.3 から[permalink][rdoc][edit]

セットされているイベントハンドラを返します。

[SEE_ALSO] Psych::Parser#handler=

handler=(val)Ruby 1.9.3 から[permalink][rdoc][edit]

イベントハンドラをセットします。

[PARAM] val:
セットするハンドラ

[SEE_ALSO] Psych::Parser#handler=

mark -> Psych::Parser::MarkRuby 1.9.3 から[permalink][rdoc][edit]

パーサが現在読み込んでいる入力上の位置を Psych::Parser::Mark オブジェクトで返します。

parse(yaml) -> selfRuby 1.9.3 から[permalink][rdoc][edit]

YAML ドキュメントをパースし、イベントハンドラにイベントを逐次通知します。

[SEE_ALSO] Psych::Parser.new, Psych::Handler, Psych::Parser#handler

定数

ANY -> IntegerRuby 1.9.3 から[permalink][rdoc][edit]

「任意の」エンコーディングを意味します。

UTF16BE -> IntegerRuby 1.9.3 から[permalink][rdoc][edit]

UTF-16BE エンコーディングを表します。

[SEE_ALSO] Psych::Handler#start_stream

UTF16LE -> IntegerRuby 1.9.3 から[permalink][rdoc][edit]

UTF-16LE エンコーディングを表します。

[SEE_ALSO] Psych::Handler#start_stream

UTF8 -> IntegerRuby 1.9.3 から[permalink][rdoc][edit]

UTF-8 エンコーディングを表します。

[SEE_ALSO] Psych::Handler#start_stream