почему --- (3 тире/дефис) в файле yaml?
Поэтому я просто начал использовать YAML
файл вместо application.properties
поскольку он более читабельен. Я вижу в файлах YAML
начиная с ---
. Я искал Google и нашел следующее объяснение.
YAML использует три тире ("---") для разделения директив из содержимого документа. Это также служит для оповещения о начале документа, если отсутствуют какие-либо директивы.
Кроме того, я попробовал образец без ---
и понял, что это необязательно иметь их.
Я думаю, что у меня нет четкого понимания directive
и document
. Может ли кто-нибудь объяснить простой пример?
Ответы
Ответ 1
Это не обязательно иметь их, если вы не начинаете YAML
с директивы. Если это так, вы должны использовать их.
Давайте посмотрим на документацию
3.2.3.4. Директивы
Каждый документ может быть связан с набором директив. Директива имеет имя и необязательную последовательность параметров. Директивы являются инструкциями для процессора YAML, и, как и все другие подробности представления, не отражаются в дереве сериализации YAML или графе представления. Эта версия YAML определяет две директивы, "YAML" и "TAG". Все остальные директивы зарезервированы для будущих версий YAML.
Один пример этого также можно найти в документации по директиве YAML
%YAML 1.2 # Attempt parsing
# with a warning
---
"foo"
Ответ 2
Как вы уже узнали, три черточки ---
используются для обозначения начала документа, а именно:
-
Чтобы сигнализировать о начале документа после директив, то есть строк %YAML
или %TAG
соответствии с текущей спецификацией. Например:
%YAML 1.2
%TAG !foo! !foo-types/
---
myKey: myValue
-
Чтобы сигнализировать о начале документа, когда у вас есть несколько документов yaml в одном потоке, например, файл yaml:
doc 1
---
doc 2
Если в doc 2 есть несколько предшествующих директив, то мы должны использовать три точки ...
чтобы указать конец doc 1 (и начало потенциальных директив, предшествующих doc 2) парсеру. Например:
doc 1
...
%TAG !bar! !bar-types/
---
doc 2
Спецификация хороша для разработчиков паролей yaml. Тем не менее, я считаю, что эту статью легче читать с точки зрения пользователя.