本文简要介绍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类。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。
