Come posso ottenere che l'implementazione di rubino YAML non legga oltre YAML EOF (& # 8230;)
Domanda
Nella specifica YAML dice ... è l'EOF Se lo faccio:
YAML.load_documents("--- abc\n--- 42\n...\nerror") { |d| puts d }
Dovrei ottenere
abc
42
Ma ottengo
abc
42
error
Sfortunatamente non c'è molta documentazione sugli analisi YAML. Devo dire alle analisi di onorare l'EOF o il parser non è conforme alle specifiche?
Soluzione
Sembrerebbe che secondo le specifiche YAML ( http://yaml.org/spec/current .html ) che ... indica solo la fine del documento corrente, non la fine del file.
Mentre le specifiche suggeriscono che l'unico contenuto valido oltre la fine del marcatore di documenti sia commenti o un altro documento, il parser YAML Ruby sembra adottare un approccio piuttosto rilassato e consentire ... di dividere semplicemente i documenti.
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow