diff options
| author | vlapa <vlapa@ya.ru> | 2026-06-13 20:33:26 +0300 |
|---|---|---|
| committer | vlapa <vlapa@ya.ru> | 2026-06-13 20:33:26 +0300 |
| commit | e5abc1fe99340b979b18864d978179f71fe8f5c5 (patch) | |
| tree | 98fd0ad7c6d0744894d6e74e446daacd9e6dd1b5 /LINUX/YAML.md | |
First
Diffstat (limited to 'LINUX/YAML.md')
| -rw-r--r-- | LINUX/YAML.md | 84 |
1 files changed, 84 insertions, 0 deletions
diff --git a/LINUX/YAML.md b/LINUX/YAML.md new file mode 100644 index 0000000..8290d0b --- /dev/null +++ b/LINUX/YAML.md @@ -0,0 +1,84 @@ +**Некоторые правила написания YAML-файлов**: + +- Файл должен начинаться с 3 дефисов — «---», а заканчиваться 3 точками — «…» +- Первый блок (словарь или список) задаёт рабочее количество отступов, которое будет использовано во всём документе. +- После знака «-», обозначающего элемент списка, ставится пробел. +- Все именованные наборы данных и строки должны иметь уникальные названия. +- В качестве отступов используются пробелы, табуляции не допускаются. +- Строки можно не брать в кавычки, за исключением случая, когда прописываются конвейеры команд в Linux. +- Комментарии начинаются с символа # и отделяются от других токенов пробелами. + +**Основная часть данных в YAML представлена в форме пар «ключ-значение»**, где ключ представляет имя, а значение — соответствующие данные. + + +## Синтаксис YAML + +В синтаксисе **YAML** _значительным является интервал_. Каждый **отступ с двумя пробелами** представляет новый уровень: + +```sh +level1: + level2: + Level3: +``` +Каждый новый уровень - _это объект_. В этом примере объект **level1** содержит объект **level2**, который содержит объект **level3**. + +### Поддержка мультидокументов + +Вы можете объединить несколько YAML-документов в один YAML-файл для облегчения организации файлов и парсинга данных. + +Документы разделяются тремя дефисами (—): + +``` +--- +player: playerOne +action: attack (miss) +--- +player: playerTwo +action: attack (hit) +--- +``` + +### Поддержка комментариев + +YAML позволяет добавлять комментарии после символа #, как в Python: + +``` +key: #Это однострочный комментарий + - value line 5 + #Это + #многострочный комментарий + - value line 13 +``` + +### Легко читаемый синтаксис + +В синтаксисе YAML-файлов используется система отступов, как в Python. Необходимо использовать пробелы, а не табуляцию, чтобы избежать путаницы. + +Это избавляет от лишних символов, которые есть в JSON и XML (кавычки, скобки, фигурные скобки). + +В итоге читаемость файла значительно повышается. + +### YAML + +``` +#YAML + Imaro: + author: Charles R. Saunders + language: English + publication-year: 1981 + pages: 224 +``` + +### Явная и неявная типизация + +YAML предлагает как автоопределение типов, так и возможность явно указать тип данных. Чтобы использовать конкретный тип, нужно написать `!![тип]` перед значением. + +``` +# Это значение преобразуется в int: +is-an-int: !!int 14.10 +# Превращает любое значение в строку: +is-a-str: !!str 67.43 +# Значение должно быть boolean: +is-a-bool: !!bool yes +``` + |
