Como crio uma matriz vazia no YAML?


190
array_with_three_elements:
- 1
- 2
- 3

empty_array:

Existe alguma maneira de especificar que empty_array: existe uma matriz sem elementos, como with []? Quando carrego em um hash rubi, gostaria que soubesse que é uma matriz.

obrigado


14
você já tentou usar []?
Jimmy

Respostas:


307

Tente usar [], como:

empty_array: []

Então, no Ruby você tem:

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

32
Eu só queria acrescentar que você pode acessar o irb e digitar algo como: "require 'yaml'; YAML :: dump ({: hi => []})" para ver o que o yaml deve ser para um objeto.
Mike A.

20
Gostaria apenas de salientar que o JSON é um subconjunto oficial do YAML 1.2 e quase um subconjunto de versões anteriores. Assim, []funciona para uma sequência vazia, ""funciona para uma sequência vazia e {}funciona para um mapeamento vazio.
Daniel H

2
@DanielH Note-se que os analisadores YAML podem não suportar quebras de linha dentro []ou {}estruturas, o que é uma grande incompatibilidade com JSON (cópia-colar de Wikipedia ) Saúde
olibre

2
Muitos analisadores ainda estão no YAML 1.1; provavelmente é sobre isso que a Wikipedia está falando. O objetivo da versão 1.2 é tornar o JSON um subconjunto oficial.
Daniel H

e quanto ao strictyaml?
Xaser 03/04
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.