如何让 ruby YAML 实现不读取超出 YAML EOF(...)
在 YAML 规范中,它说...是 EOF 如果我这样做:
YAML.load_documents("--- abc\n--- 42\n...\nerror") { |d| puts d }
我应该得到
abc
42
但
abc
42
error
不幸的是,没有太多关于 YAML 解析的文档。 我是否必须告诉解析器遵守 EOF,或者解析器不符合规范?
In the YAML specification it says ... is the EOF
If I do:
YAML.load_documents("--- abc\n--- 42\n...\nerror") { |d| puts d }
I should get
abc
42
But I get
abc
42
error
Unfortenely there is not much documentation about the YAML parses.
Do I have to tell the parses to honor the EOF, or does the parser not comply to the specs?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
看起来根据 YAML 规范 (http://yaml.org/spec/current.html< /a>) 表示...仅表示当前文档的结尾,而不是文件的结尾。
虽然规范表明文档标记结束之外的唯一有效内容是注释或其他文档,但 Ruby YAML 解析器似乎采取了一种相当宽松的方法,并允许......简单地拆分文档。
It would seem that according to the YAML spec (http://yaml.org/spec/current.html) that the ... only indicates the end of the current document, not the end of the file.
While the specification suggests that the only valid content beyond an end of document marker is either comments or another document, the Ruby YAML parser appears to take a rather relaxed approach and allow ... to simply split documents.