Come posso ottenere che l'implementazione di rubino YAML non legga oltre YAML EOF (& # 8230;)

StackOverflow https://stackoverflow.com/questions/1444856

  •  22-07-2019
  •  | 
  •  

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?

È stato utile?

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
scroll top