Как заставить реализацию ruby ​​YAML не читать за пределами YAML EOF (...) - PullRequest
0 голосов
/ 18 сентября 2009

В спецификации YAML написано ... это EOF Если я сделаю:

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

Я должен получить

abc
42

Но я получаю

abc
42
error

К сожалению, не так много документации о разборе YAML. Нужно ли указывать синтаксическим анализам соблюдать EOF или синтаксический анализатор не соответствует спецификациям?

1 Ответ

2 голосов
/ 18 сентября 2009

Может показаться, что в соответствии со спецификацией YAML (http://yaml.org/spec/current.html)) знак ... указывает только на конец текущего документа, а не на конец файла.

Хотя в спецификации предполагается, что единственным допустимым содержимым после маркера конца документа являются либо комментарии, либо другой документ, парсер Ruby YAML выглядит довольно непринужденно и позволяет ... просто разбивать документы.

...