2011-02-24 9 views
116
array_with_three_elements: 
- 1 
- 2 
- 3 

empty_array: 

¿Hay alguna forma de especificar que empty_array: es una matriz sin elementos, como con []? Cuando lo cargue en un hash de rubí me gustaría que supiera que es una matriz.¿Cómo creo una matriz vacía en YAML?

Gracias

+11

¿Ha intentado utilizar '[] '? – Jimmy

Respuesta

189

trate de usar [], como:

empty_array: [] 

Así que en Ruby tiene:

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

Solo quería agregar que puedes ir a irb y escribir algo así como: "require 'yaml'; YAML :: dump ({: hi => []})" para ver qué debe ser yaml para un objeto. –

+13

Me gustaría señalar que JSON es un subconjunto oficial de YAML 1.2 y casi un subconjunto de versiones anteriores. Por lo tanto '[]' funciona para una secuencia vacía, '" "' funciona para una cadena vacía, y '{}' funciona para una asignación vacía. –

+1

@DanielH Tenga en cuenta que los analizadores YAML pueden no admitir saltos de línea dentro de las estructuras '[]' o '{}', lo que es una gran incompatibilidad con JSON (copiar y pegar de [Wikipedia] (http://en.wikipedia.org/ wiki/Yaml # cite_note-10)) Cheers – olibre