Як створити порожній масив у YAML?


190
array_with_three_elements:
- 1
- 2
- 3

empty_array:

Чи є спосіб вказати цей empty_array: це масив без елементів, наприклад, з []? Коли я завантажую його в рубіновий хеш, я хотів би, щоб він знав, що це масив.

Дякую


14
ви намагалися використовувати []?
Джиммі

Відповіді:


307

Спробуйте використовувати [], як-от:

empty_array: []

Отже, у Ruby у вас є:

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

32
Я просто хотів додати, що ви можете зайти в irb і набрати щось на кшталт: "вимагаю" yaml "; YAML :: dump ({: hi => []})", щоб побачити, якою має бути yaml для об'єкта.
Майк А.

20
Я хотів би лише зазначити, що JSON є офіційним підмножиною YAML 1.2 і майже підмножиною попередніх версій. Таким чином, []працює для порожньої послідовності, ""працює для порожнього рядка та {}працює для порожнього відображення.
Даніель Н

2
@DanielH Зверніть увагу, що YAML-парсери можуть не підтримувати розриви ліній всередині []або {}структури, що є головною несумісністю з JSON (копіювати-вставити з Вікіпедії ) Ура
олибре

2
Багато парсерів досі перебувають на YAML 1.1; це, мабуть, те, про що говорить Вікіпедія. Вся суть випуску 1.2 полягає в тому, щоб зробити JSON офіційним підмножиною.
Даніель Н

як щодо strictyaml?
Xaser
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.