Como denoto um dicionário vazio em YAML? Ou seja, deve ser semanticamente equivalente ao objeto json vazio {}
.
97
Resposta curta: use {}
Existem duas maneiras de denotar mapeamentos (dicionários) no yaml; mapeamentos de fluxo e mapeamentos de bloco :
block_mapping:
name: foo
id: bar
flow_mapping: { name: foo, id: bar }
empty_flow_mapping: {}
O estilo de mapeamento de fluxo é, portanto, adequado para representar mapeamentos vazios.
empty_block_mapping:
espaço em branco equivale aempty_block_mapping: null
nãoempty_block_mapping: {}
.Técnica geral para responder a este tipo de pergunta, para complementar a resposta correta de Betamos: use irb.
$ irb 2.2.0 :001 > require 'yaml' => true 2.2.0 :002 > puts({}.to_yaml) # original question --- {} => nil 2.2.0 :003 > puts({ mixed_types: [{}, "string", :symbol, {symbol: "value"}, nil, 3] }.to_yaml) --- :mixed_types: - {} - string - :symbol - :symbol: value - - 3 => nil
Eu uso isso sempre que não tenho certeza de como codificar algo.
fonte