0

YAML 仕様では、... は EOF であると言われています。

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

私は取得する必要があります

abc
42

しかし、私は得る

abc
42
error

残念ながら、YAML 解析に関するドキュメントはあまりありません。EOF を尊重するように解析に指示する必要がありますか、それともパーサーが仕様に準拠していませんか?

4

1 に答える 1

2

YAML 仕様 ( http://yaml.org/spec/current.html ) によると、 ... はファイルの終わりではなく、現在のドキュメントの終わりのみを示しているようです。

仕様では、ドキュメント マーカーの末尾を超える有効なコンテンツはコメントまたは別のドキュメントのみであると示唆されていますが、Ruby YAML パーサーはかなり緩いアプローチを採用しているようで、ドキュメントを単純に分割することができます。

于 2009-09-18T16:16:35.170 に答える