在 YAML 规范中,它说 ... 是 EOF 如果我这样做:
YAML.load_documents("--- abc\n--- 42\n...\nerror") { |d| puts d }
我应该得到
abc
42
但我明白了
abc
42
error
不幸的是,没有太多关于 YAML 解析的文档。我必须告诉解析器遵守 EOF,还是解析器不符合规范?
根据 YAML 规范( http://yaml.org/spec/current.html ),似乎... 仅表示当前文档的结尾,而不是文件的结尾。
虽然规范建议文档结束标记之外的唯一有效内容是注释或另一个文档,但 Ruby YAML 解析器似乎采取了一种相当宽松的方法并允许 ... 简单地拆分文档。