Sintaks untuk kamus kosong di YAML


91

Bagaimana cara menunjukkan kamus kosong di YAML? Yaitu harus secara semantik setara dengan objek-json kosong {}.

Jawaban:


163

Jawaban singkatnya: gunakan {}

Ada dua cara untuk menunjukkan pemetaan (kamus) di yaml; aliran pemetaan dan blok pemetaan :

block_mapping:
    name:  foo
    id:    bar
flow_mapping: { name: foo, id: bar }
empty_flow_mapping: {}

Gaya pemetaan aliran dengan demikian cocok untuk merepresentasikan pemetaan kosong.


21
daftar kosong akan menjadi []
gigi2

Mengapa itu tidak cocok? Apa yang salah dengan hanya "empty_block_mapping:" (dan tidak ada lagi setelah itu)
Jonathan Hartley

6
@JonathanHartley hanya membiarkan sisi kanan empty_block_mapping:kosong sama dengan empty_block_mapping: null, tidak empty_block_mapping: {}.
rampion

8

Teknik umum untuk menjawab pertanyaan jenis ini, untuk melengkapi jawaban Betamos yang benar: gunakan 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

Saya menggunakan ini setiap kali saya tidak yakin bagaimana menyandikan sesuatu.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.