Что делает один восклицательный знак в YAML?

Я работаю с библиотекой YamlDotNetи получаю следующую ошибку при загрузке файла YAML:

При анализе тег, не найден ожидаемый URI тега.

Предполагается, что файл YAML имеет правильный формат, поскольку он исходит прямо из RoR. Ошибка, кажется, вызвана этим кодом:

formats:
  default: ! '%d-%m-%Y'
  long: ! '%d %B, %Y'
  short: ! '%d %b'

Я не эксперт, но я вижу из спецификации YAML, что вы можете использовать восклицательный знак для обозначения пользовательского объекта/типа и два восклицательных знака для указания явного встроенный тип.

obj1: !custom # whatever
obj2: !!str "My string"

Однако мне не удалось найти никаких ссылок на восклицательный знак, используемый, как указано выше. Что это значит и почему библиотека YAML, которую я использую, не может ее разобрать? Обратите внимание, что если я уберу эти восклицательные знаки, файл будет проанализирован нормально.

37
задан dreftymac 1 November 2017 в 23:45
поделиться