Come si denota un dizionario vuoto in YAML? Cioè dovrebbe essere semanticamente equivalente all'oggetto json vuoto {}
.
Risposte:
Risposta breve: usa {}
Ci sono due modi per denotare le mappature (dizionari) in yaml; mappature di flusso e mappature a blocchi :
block_mapping:
name: foo
id: bar
flow_mapping: { name: foo, id: bar }
empty_flow_mapping: {}
Lo stile di mappatura del flusso è quindi adatto per rappresentare mappature vuote.
empty_block_mapping:
spazio vuoto è l'equivalente di empty_block_mapping: null
, no empty_block_mapping: {}
.
Tecnica generale per rispondere a questo tipo di domande, per integrare la risposta corretta di Betamos: usa 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
Lo uso ogni volta che non sono sicuro di come codificare qualcosa.