Come posso creare un array vuoto in YAML?


190
array_with_three_elements:
- 1
- 2
- 3

empty_array:

C'è un modo per specificare che empty_array: è un array senza elementi, come con []? Quando lo carico in un hash rubino, vorrei che sapesse che è un array.

Grazie


14
hai provato a usare []?
Jimmy,

Risposte:


307

Prova a usare [], come:

empty_array: []

Quindi in Ruby hai:

x = YAML::load("empty_array: []")
x # => {"empty_array" => []}

32
Volevo solo aggiungere che puoi andare in irb e digitare qualcosa del tipo: "richiedono 'yaml'; YAML :: dump ({: hi => []})" per vedere quale dovrebbe essere lo yaml per un oggetto.
Mike A.

20
Vorrei solo sottolineare che JSON è un sottoinsieme ufficiale di YAML 1.2 e quasi un sottoinsieme delle versioni precedenti. []Funziona quindi per una sequenza vuota, ""funziona per una stringa vuota e {}funziona per una mappatura vuota.
Daniel H,

2
@DanielH Nota che i parser YAML potrebbero non supportare le interruzioni di riga all'interno []o le {}strutture, il che è una grande incompatibilità con JSON (copia-incolla da Wikipedia ) Cheers
olibre

2
Molti parser sono ancora su YAML 1.1; questo è probabilmente ciò di cui parla Wikipedia. L'intero punto della versione 1.2 è rendere JSON un sottoinsieme ufficiale.
Daniel H,

che ne dici di strictyaml?
Xaser
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.