Làm cách nào để tạo một mảng trống trong YAML?


188
array_with_three_elements:
- 1
- 2
- 3

empty_array:

Có cách nào để xác định rằng blank_array: là một mảng không có phần tử, chẳng hạn như với []? Khi tôi tải nó vào một hàm ruby, tôi muốn biết rằng đó là một mảng.

Cảm ơn


14
bạn đã thử sử dụng []chưa?
Jimmy

Câu trả lời:


305

Hãy thử sử dụng [], như:

empty_array: []

Vì vậy, trong Ruby bạn có:

x = YAML::load("empty_array: []")
x # => {"empty_array" => []}

32
Tôi chỉ muốn thêm rằng bạn có thể vào irb và gõ một cái gì đó như: "yêu cầu 'yaml'; YAML :: dump ({: hi => []})" để xem yaml nên là gì cho một đối tượng.
Mike A.

20
Tôi chỉ muốn chỉ ra rằng JSON là một tập hợp con chính thức của YAML 1.2 và gần như là một tập hợp con của các phiên bản trước đó. Do đó, []hoạt động cho một chuỗi trống, ""hoạt động cho một chuỗi trống và {}hoạt động cho một ánh xạ trống.
Daniel H

2
@DanielH Lưu ý rằng trình phân tích cú pháp YAML có thể không hỗ trợ ngắt dòng bên trong []hoặc {}cấu trúc, đây là sự không tương thích lớn với JSON (sao chép-dán từ Wikipedia ) Chúc mừng
olibre

2
Nhiều trình phân tích cú pháp vẫn còn trên YAML 1.1; đây có lẽ là những gì Wikipedia đang nói về. Toàn bộ điểm của phiên bản 1.2 là biến JSON thành một tập hợp con chính thức.
Daniel H

Làm thế nào về strictyaml?
Xaser
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.