Di YAML , Anda dapat dengan mudah membuat string multi-baris . Namun, saya ingin kemampuan untuk membuat array multi-baris (terutama untuk readibility dalam file konfigurasi) menggunakan |
karakter tersebut.
Sebuah YAML array yang dapat direpresentasikan sebagai: ['key1', 'key2', 'key3']
.
Urutan YAML menggunakan tanda hubung diikuti dengan spasi dan kemudian string:
- String1
- String2
- String3
Hal ini akan mengevaluasi ke: ['string1', 'string2', 'string3']
.
Pemetaan YAML adalah larik pasangan kunci dan nilai yang kita lihat sepanjang waktu di YAML:
Key1: string1
Key2: string2
Key3: string3
Ini semua baik dan bagus, tetapi saya tidak bisa seumur hidup saya melihat bagaimana melakukan array multi-baris. Sesuatu seperti ini:
|
['string1', 'string2', 'string3']
['string4', 'string5', 'string6']
Pendeknya membuat beberapa pemetaan array di YAML dan menggabungkannya dalam bahasa pemrograman pilihan saya, adakah cara untuk mencapai array multi-baris, mungkin dengan { }
seperti yang dimiliki Python tetapi di YAML?
Jawaban:
Sebuah YAML urut adalah sebuah array yang . Jadi inilah cara yang tepat untuk mengungkapkannya:
key: - string1 - string2 - string3 - string4 - string5 - string6
Itu identik artinya dengan:
key: ['string1', 'string2', 'string3', 'string4', 'string5', 'string6']
Ini juga legal untuk membagi larik baris tunggal menjadi beberapa baris:
key: ['string1', 'string2', 'string3', 'string4', 'string5', 'string6']
dan bahkan memiliki string multi-baris dalam array baris tunggal:
key: ['string1', 'long string', 'string3', 'string4', 'string5', 'string6']
sumber
sudahkah kamu mencoba ini?
- name: Jack age: 32 - name: Claudia age: 25
Saya mendapatkan ini:
[{"name"=>"Jack", "age"=>32}, {"name"=>"Claudia", "age"=>25}]
(Saya menggunakanYAML
kelas Ruby).sumber
Berikut ini akan berhasil:
myarray: [ String1, String2, String3, String4, String5, String5, String7 ]
Saya mengujinya menggunakan implementasi snakeyaml, saya tidak yakin tentang implementasi lain.
sumber
myarray: [String1, String2, String3,
dan baris kedua adalah `String4, String5, String5, String7]`Mengikuti Berfungsi untuk saya dan kebaikannya dari sudut pandang keterbacaan ketika nilai elemen array kecil:
key: [string1, string2, string3, string4, string5, string6]
Catatan: implementasi snakeyaml digunakan
sumber
Jika yang Anda butuhkan adalah array array, Anda dapat melakukannya dengan cara ini:
key: - [ 'value11', 'value12', 'value13' ] - [ 'value21', 'value22', 'value23' ]
sumber