YAML¶
YAML (YAML Ain’t Markup Language) - человекочитаемый формат данных. В Clover2 YAML используется для описания карт ArUco-маркеров, конфигурации камер и других параметров.
Основные правила¶
Ключ-значение:
ключ: значение(пробел после двоеточия обязателен)Комментарии:
#— все символы после него до конца строки игнорируютсяname: test # это комментарий # а эта строка целиком — комментарий
Комментарии можно ставить только в конце строки или на отдельной строке. Блочных комментариев (/* */) в YAML нет.
Отступы: для отступов используйте только пробелы (2 или 4), табуляция запрещена
Строки: строки можно записывать без кавычек. Если значение содержит специальные символы, используйте двойные
" "или одинарные' 'кавычки.Числа: целые и дробные числа можно записывать без кавычек:
42,3.14,-1.5,1e-3Булевы:
true/false,yes/no,on/offNull:
~,null, или пустое полеСписок (блочный): каждый элемент списка начинается с
-(дефис + пробел):markers: - id: 0 - id: 1
Список: элементы списка можно записать в квадратных скобках через запятую:
markers: [{id: 0, size: 0.3}, {id: 1, size: 0.3}] # или markers: [0, 1, 2, 3]
Список словарей (блочный, явный):
markers: - {id: 0, size: 0.3, x: 1.0, y: 2.0} - {id: 1, size: 0.3, x: 3.0, y: 4.0}
Здесь markers содержит два словаря. Каждый словарь описывает один маркер и содержит его id, size, x и y.
Многострочные массивы без ключей:
ids: - 10 - 20 - 30
Словарь (вложенный): отступы показывают вложенность:
pose: x: 1.0 y: 2.0
Словарь: несколько пар ключ-значение можно записать в фигурных скобках через запятую:
pose: {x: 1.0, y: 2.0, z: 0.5}
Примечание
Отступы должны быть согласованными. Если для одного уровня используется 2 пробела, используйте 2 пробела и для других элементов этого же уровня. Отступ определяет структуру YAML-файла. Если сделать неправильный отступ, программа не сможет прочитать файл.