Bagaimana cara membuat array kosong di YAML?

190
array_with_three_elements:
- 1
- 2
- 3

empty_array:

Apakah ada cara untuk menentukan bahwa empty_array: adalah array tanpa elemen, seperti dengan []? Ketika saya memuatnya ke dalam hash ruby, saya ingin tahu bahwa itu adalah array.

Terima kasih

Julian Mann
sumber
14
telah Anda mencoba menggunakan []?
Jimmy

Jawaban:

307

Coba gunakan [], seperti:

empty_array: []

Jadi di Ruby Anda memiliki:

x = YAML::load("empty_array: []")
x # => {"empty_array" => []}
maerics
sumber
32
Saya hanya ingin menambahkan bahwa Anda dapat masuk ke irb dan mengetik sesuatu seperti: "memerlukan 'yaml'; YAML :: dump ({: hi => []})" untuk melihat seperti apa yaml seharusnya untuk sebuah objek.
Mike A.
20
Saya hanya ingin menunjukkan bahwa JSON adalah bagian resmi dari YAML 1.2 dan hampir sebagian dari versi sebelumnya. Jadi []berfungsi untuk urutan kosong, ""bekerja untuk string kosong, dan {}bekerja untuk pemetaan kosong.
Daniel H
2
@DanielH Perhatikan bahwa parser YAML mungkin tidak mendukung jeda baris di dalamnya [] atau {}struktur, yang merupakan ketidakcocokan utama dengan JSON (salin-tempel dari Wikipedia ) Cheers
olibre
2
Banyak parser masih menggunakan YAML 1.1; ini mungkin yang dibicarakan Wikipedia. Inti dari rilis 1.2 adalah untuk menjadikan JSON sebagai subset resmi.
Daniel H
bagaimana dengan strictyaml?
Xaser