當前位置: 首頁>>編程示例 >>用法及示例精選 >>正文


Ruby Parser類用法及代碼示例

本文簡要介紹ruby語言中 Psych::Parser類 的用法。

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 的示例。 YAML 文檔從 STDIN 讀取並寫回 STDERR:

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

Psych 使用 Psych::Parser Psych::TreeBuilder 來構造已解析 YAML 文檔的 AST。

相關用法


注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Parser類。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。