¿Cómo creo una matriz vacía en YAML?


190
array_with_three_elements:
- 1
- 2
- 3

empty_array:

¿Hay alguna manera de especificar que empty_array: es una matriz sin elementos, como con []? Cuando lo cargo en un hash rubí, me gustaría que sepa que es una matriz.

Gracias


14
has intentado usar []?
Jimmy

Respuestas:


307

Intenta usar [], como:

empty_array: []

Entonces en Ruby tienes:

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

32
Solo quería agregar que puedes ir a irb y escribir algo como: "require 'yaml'; YAML :: dump ({: hi => []})" para ver cuál debería ser el yaml para un objeto.
Mike A.

20
Solo 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.
Daniel H

2
@DanielH Tenga en cuenta que los analizadores YAML pueden no admitir saltos de línea en el interior []o {}estructuras, lo cual es una gran incompatibilidad con JSON (copiar y pegar de Wikipedia ) Saludos
olibre

2
Muchos analizadores todavía están en YAML 1.1; Esto es probablemente de lo que Wikipedia está hablando. El objetivo de la versión 1.2 es hacer de JSON un subconjunto oficial.
Daniel H

¿Qué tal strictyaml?
Xaser
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.