如何让 ruby​​ YAML 实现不读取超出 YAML EOF(...)

发布于 2024-08-05 14:24:29 字数 285 浏览 5 评论 0原文

在 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

感受沵的脚步 2024-08-12 14:24:29

看起来根据 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.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文