Comment désigner un dictionnaire vide en YAML? C'est-à-dire qu'il devrait être sémantiquement équivalent à l'objet json vide {}
.
Réponses:
Réponse courte: utiliser {}
Il existe deux façons de désigner les mappages (dictionnaires) dans yaml; mappages de flux et mappages de blocs :
block_mapping:
name: foo
id: bar
flow_mapping: { name: foo, id: bar }
empty_flow_mapping: {}
Le style de mappage de flux convient donc pour représenter des mappages vides.
empty_block_mapping:
blanc équivaut à empty_block_mapping: null
non empty_block_mapping: {}
.
Technique générale pour répondre à ce type de question, pour compléter la bonne réponse de Betamos: utilisez 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
J'utilise ceci chaque fois que je ne sais pas comment encoder quelque chose.