Начало работы
Введение
TOML - это минимальный формат конфигурационных файлов, который легко читается благодаря очевидной семантике.
- Документ (toml.io)
- Learn X in Y minutes (learnxinyminutes.com)
Примеры
``toml bool = true дата = 2006-05-27T07:32:00Z string = “hello” число = 42 float = 3.14 scientificNotation = 1e+12
### Комментарии
``yaml
# Пример однострочного комментария
# пример комментария на уровне блока
# комментарий строки 1
# комментарий строки 2
# комментарий строки 3
Целое число
``toml int1 = +42 int2 = 0 int3 = -21 integerRange = 64
### Float
``toml
float2 = 3.1415
float4 = 5e+22
float7 = 6.626e-34
Булево
``toml bool1 = true bool2 = false boolMustBeLowercase = true
### Datetime
``toml
дата1 = 1989-05-27T07:32:00Z
дата2 = 1989-05-26T15:32:00-07:00
дата3 = 1989-05-27T07:32:00
дата4 = 1989-05-27
время1 = 07:32:00
время2 = 00:32:00.999999
Строка
``toml str1 = “Я - строка.” str2 = “Вы можете "цитировать" меня.” str3 = “Имя\tJos\u00E9\nLoc\tSF.”
См: [Strings](#toml-strings)
### Таблица
``toml
[owner]
name = "Tom Preston-Werner"
дата рождения = 1979-05-27T07:32:00-08:00
См: Таблицы
Массив
``toml array1 = [1, 2, 3] array2 = [“Запятая”, “есть”, “разделитель”] array3 = [8001, 8001, 8002]
### Дружественный массив {.col-span-2}
``toml
array1 = [ [ "Не смешивать", "разные", "типы" ]
array2 = [ [ [ 1.2, 2.4 ], ["все", "строки", """одинаковые""", ''"тип"''] ]
array3 = [
"Пробел", "есть",
"игнорируется"
]
Струны TOML
Многострочная строка
``toml multiLineString = """ Многострочные базовые строки окружены тремя кавычками с каждой стороны и допускают новые строки. """
### Буквальная строка
``toml {.wrap}
path = 'C:\Users\nodejs\templates'
path2 = '\\\User\admin$\system32'
quoted = 'Tom "Dubs" Preston-Werner'
regex = '<\i\c*\s*>'
Окружены одинарными кавычками. Эскейпинг не допускается.
Многострочная буквенная строка
``toml re = ‘’’\d{2}приложений много’’’ lines = ’’' Первая новая строка обрезается в необработанных строках. Все остальные пробельные символы сохраняется. ’''
Таблицы TOML
-----
### Базовый
``toml
[name]
foo = 1
bar = 2
foo
и bar
являются ключами в таблице с именем name
.
Вложенные
``toml [table1] foo = “bar”
[table1.nested_table] baz = “bat”
### Array-like {.row-span-2}
``toml
[[комментарии]]
author = "Nate"
text = "Отличная статья!"
[[комментарии]]
автор = "Аноним"
text = "Понравилось!"
↓ Эквивалентный JSON
``json { “comments” : [ { “author” : “Nate”, “text” : “Отличная статья!” }, { “author” : “Anonymous”, “text” : “Очень понравилось!” } ] }
### Разделение точками
```toml
[dog. "tater.man"]
тип = "мопс"
↓ Эквивалентный JSON
``json { “dog”: { “tater.man”: { “type”: “мопс” } } }
### Многовложенные
``toml
[foo.bar.baz]
bat = "hi"
↓ Эквивалентный JSON
``json { “foo” : { “bar” : { “baz” : { “bat” : “hi” } } } }
### Игнорировать пробельные символы
``toml
[a.b.c] # это лучшая практика
[ d.e.f ] # то же, что [d.e.f]
[ g . h .i ] # то же, что [g.h.i]
[ j . "ʞ" .'l' ] # то же, что [j. "ʞ".'l']
Инлайн-таблица
``toml name = { first = “Том”, last = “Престон-Вернер” } точка = { x = 1, y = 2 } животное = { type.name = “мопс” }