本文簡要介紹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 Parser類用法及代碼示例
- Ruby Parser.use_markup用法及代碼示例
- Ruby Pathname.<=>用法及代碼示例
- Ruby Pathname.children用法及代碼示例
- Ruby Pathname.descend用法及代碼示例
- Ruby Pathname.getwd用法及代碼示例
- Ruby Pathname.ascend用法及代碼示例
- Ruby Pathname.pwd用法及代碼示例
- Ruby Pathname.+用法及代碼示例
- Ruby Pathname.sub_ext用法及代碼示例
- Ruby Pathname.glob用法及代碼示例
- Ruby Pathname.entries用法及代碼示例
- Ruby Pathname.join用法及代碼示例
- Ruby Pathname.sub用法及代碼示例
- Ruby Pathname類用法及代碼示例
- Ruby Pathname.each_filename用法及代碼示例
- Ruby Pathname.absolute?用法及代碼示例
- Ruby Pathname.relative?用法及代碼示例
- Ruby Pathname.each_child用法及代碼示例
- Ruby PackageTask類用法及代碼示例
- Ruby PrettyPrint.current_group用法及代碼示例
- Ruby Process.groups用法及代碼示例
- Ruby Process.wait2用法及代碼示例
- Ruby Process.getpgrp用法及代碼示例
- Ruby Proc.eql?用法及代碼示例
注:本文由純淨天空篩選整理自ruby-lang.org大神的英文原創作品 Parser類。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。