Skip to content

Latest commit

 

History

History
90 lines (71 loc) · 2.72 KB

yaml.md

File metadata and controls

90 lines (71 loc) · 2.72 KB

YAML

Довольно часто для хранения конфигураций, используется YAML: Yet Another Markup Language.

Ключевая статья - YAML за 5 минут: синтаксис и основные возможности, Олег Борисенков.

Пример YAML-документа:

---
 doe: "a deer, a female deer"
 ray: "a drop of golden sun"
 pi: 3.14159
 xmas: true
 french-hens: 3
 calling-birds:
   - huey
   - dewey
   - louie
   - fred
 xmas-fifth-day:
   calling-birds: four
   french-hens: 3
   golden-rings: 5
   partridges:
     count: 1
     location: "a pear tree"
   turtle-doves: two

Ключевая особенность YAML - используется система отступов.

YAML файл может хранить несколько документов. Документы разделяется тремя дефисами: ---. Строго говоря, YAML файл должен начинаться с трёх дефисов - это маркер YAML-файла.

В YAML можно использовать комментарии, например:

key: #Это однострочный комментарий
   - value line 5
   #Это
   #многострочный комментарий
   - value line 13

Данные в YAML содержаться в виде пар "ключ/значение".

YAML позволяет явно указать тип значения в поле:

# Это значение преобразуется в int:
is-an-int: !!int 14.10
# Превращает любое значение в строку:
is-a-str: !!str 67.43
# Значение должно быть boolean:
is-a-bool: !!bool yes

Чтобы указать нулевой значение поля используется символ "тильда", или литерал null:

foo: ~
bar: null

Последовательности (массивы) в YAML могут быть оформлены двумя способами:

shopping: 
- milk
- eggs
- juice

Или в одной строке: shopping: [milk, eggs, juice]

Словари оформляются, приблизительно, так:

Employees: 
- dan:
    name: Dan D. Veloper
    job: Developer
    team: DevOps
- dora:
   name: Dora D. Veloper
   job: Project Manager
   team: Web Subscriptions

Для разных языков программирования разработаны библиотеки для работы с YAML-файлами. Так, например, для Python есть библиотека PyYAML.