Краткий ответ: в большинстве случаев нет никакой разницы.
---
foo: bar
совпадает с
---
'foo': 'bar'
Вы должны использовать кавычки, когда используете специальные или зарезервированные символы (например, &
или {
в начале или :<space>
).
Вы также должны использовать кавычки, если скаляр разрешается как специальный тип, например true
, false
, null
, числа и т. Д. Это зависит от версии YAML и схемы.
Это также зависит от приложения / процессора, который вы используете. Они могут делать разные вещи в зависимости от того, цитируется ли скаляр или нет.
В приведенном вами примере цитирование не обязательно, если процессор правильно реализует YAML.
В моих статьях вы можете прочитать все о цитировании и схемах / типах в YAML:
http://blogs.perl.org/users/tinita/2018/03/strings-in-yaml---to-quote-or-not-to-quote.html
http://blogs.perl.org/users/tinita/2018/01/introduction-to-yaml-schemas-and-tags.html
Дальнейшее объяснение: YAML состоит из узлов, которые имеют три основных типа данных: скаляры, отображения и последовательности.
Последовательность - это список скаляров, отображений или последовательностей. Отображение - это карта (или словарь, хэш) ключей значений, оба из которых могут быть всех трех типов. Таким образом, вы получите древовидную структуру или, вернее, график.
Например, скаляр может быть строкой, числом или нулем.