summaryrefslogtreecommitdiff
path: root/LINUX/YAML.md
diff options
context:
space:
mode:
authorvlapa <vlapa@ya.ru>2026-06-13 20:33:26 +0300
committervlapa <vlapa@ya.ru>2026-06-13 20:33:26 +0300
commite5abc1fe99340b979b18864d978179f71fe8f5c5 (patch)
tree98fd0ad7c6d0744894d6e74e446daacd9e6dd1b5 /LINUX/YAML.md
First
Diffstat (limited to 'LINUX/YAML.md')
-rw-r--r--LINUX/YAML.md84
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
+```
+