Отступы последовательности YAML внутри отображения
Должны ли быть следующие:
parent:
- child
- child
Итак, мы имеем последовательность значений внутри отображения.
Конкретный вопрос заключается в том, является ли отступ для 2-й и 3-й строк действительным. Ruby YAML.dump сгенерировал этот код, но парсер Yaml здесь отклоняет его, потому что дочерние строки не отступают.
то есть. он хочет что-то вроде:
parent:
- child
- child
Кто прав?
Глядя на спецификацию YAML, это, конечно, не очевидно, а строка
"-", "?" и символы ":", используемые для обозначения записей коллекции блоков, воспринимаются людьми как часть отступа
не помогает.
Ответы
Ответ 1
Да, это законный YAML. Соответствующий текст из спецификации здесь:
Так как люди воспринимают индикатор "-" как отступ, вложенные последовательности блоков могут быть отступы на одно меньшее пространство для компенсации, за исключением, конечно, если они вложены внутри другой последовательности блоков (контекст блокировки и контекст в блочном контексте).
и последующий пример 8.22:
sequence: !!seq
- entry
- !!seq
- nested
mapping: !!map
foo: bar