2009-09-18 40 views
0

在它说YAML规范红宝石YAML实现......是EOF 如果我做的:我怎么不读超越YAML EOF(...)

YAML.load_documents("--- abc\n--- 42\n...\nerror") { |d| puts d } 

我应该得到

abc 
42 

,但我得到

abc 
42 
error 

Unfortenely没有太多的文档对YAML解析。 我必须告诉解析兑现了EOF,还是解析器不符合该规范?

回答

2

这似乎根据YAML规范(http://yaml.org/spec/current.html)的...只是表明当前文档的末尾,该文件未结束这一点。

虽然说明书显示,超过文件标记的结束,唯一有效的内容或者是评论或其他文档,Ruby的YAML解析器似乎采取一种相当轻松的方式,让...简单地分割文件。

+0

我必须承认,我没看过的规格。我只读维基百科。我correkted维基百科的文章,所以没有人别的误解这一点。 – johannes 2009-09-18 17:33:47