本文简要介绍ruby语言中 Psych.parse_stream
的用法。
用法
parse_stream(yaml, filename: nil, &block)
解析 yaml
中的 YAML
字符串。返回 Psych::Nodes::Stream
。此方法可以处理 yaml
中包含的多个 YAML
文档。如果引发 Psych::SyntaxError
,则在异常消息中使用filename
。
如果给定一个块,则在解析块时将产生一个 Psych::Nodes::Document
节点。
当检测到 YAML
语法错误时引发 Psych::SyntaxError
。
例子:
Psych.parse_stream("---\n - a\n - b") # => #<Psych::Nodes::Stream:0x00>
Psych.parse_stream("--- a\n--- b") do |node|
node # => #<Psych::Nodes::Document:0x00>
end
begin
Psych.parse_stream("--- `", filename: "file.txt")
rescue Psych::SyntaxError => ex
ex.file # => 'file.txt'
ex.message # => "(file.txt): found character that cannot start any token"
end
有关 YAML
AST 的更多信息,请参阅 Psych::Nodes
。
相关用法
- Ruby Psych.parse用法及代码示例
- Ruby Psych.unsafe_load用法及代码示例
- Ruby Psych.dump用法及代码示例
- Ruby Psych.dump_stream用法及代码示例
- Ruby Psych.safe_load用法及代码示例
- Ruby Psych.load_stream用法及代码示例
- Ruby Psych.safe_dump用法及代码示例
- Ruby Psych模块用法及代码示例
- Ruby PrettyPrint.current_group用法及代码示例
- Ruby Pathname.<=>用法及代码示例
- Ruby Pathname.children用法及代码示例
- Ruby Process.groups用法及代码示例
- Ruby Process.wait2用法及代码示例
- Ruby Process.getpgrp用法及代码示例
- Ruby Proc.eql?用法及代码示例
- Ruby PTY.open用法及代码示例
- Ruby PrettyPrint.genspace用法及代码示例
- Ruby PKey.sign_raw用法及代码示例
- Ruby Profiler模块用法及代码示例
- Ruby Process.setproctitle用法及代码示例
- Ruby PPMethods.comma_breakable用法及代码示例
- Ruby Process.setrlimit用法及代码示例
- Ruby Proc.prc ==用法及代码示例
- Ruby Profiler.raw_data用法及代码示例
- Ruby Process.uid用法及代码示例
注:本文由纯净天空筛选整理自ruby-lang.org大神的英文原创作品 Psych.parse_stream。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。