ТОМЛ
![]() | |
Расширение имени файла |
.toml |
---|---|
Тип интернет-СМИ | Не зарегистрирован [а] |
Разработано |
|
Первоначальный выпуск | 23 февраля 2013 г |
Последний выпуск | 1.0.0 [2] 12 января 2021 г |
Тип формата | Обмен данными |
Открытый формат ? | Да |
Веб-сайт | Томл |
Очевидный, минимальный язык Тома ( TOML , первоначально «Собственный язык разметки Тома»). [3] ) — формат файлов конфигурации . [4] Он предназначен для легкого чтения и записи благодаря очевидной семантике, которая стремится быть «минимальной», и предназначен для однозначного сопоставления со словарем . Первоначально созданный Томом Престоном-Вернером , его спецификация имеет открытый исходный код . TOML используется в ряде программных проектов. [5] [6] [7] и реализован на многих языках программирования. [8]
Синтаксис
[ редактировать ]Синтаксис TOML в основном состоит из key = value
пары, [section names]
, и #
(для комментариев). Синтаксис TOML чем-то напоминает синтаксис файлов .INI , но включает формальную спецификацию, тогда как формат файла INI страдает от множества конкурирующих вариантов.
Его спецификация включает список поддерживаемых типов данных: строка, целое число, число с плавающей запятой, логическое значение, дата-время, массив и таблица.
Пример
[ редактировать ]# This is a TOML document.
title = "ImpalaPay Co."
[database]
server = "192.168.1.1"
ports = [ 8000, 8001, 8002 ]
connection_max = 5000
enabled = true
# Line breaks are okay when inside arrays
hosts = [
"alpha",
"omega"
]
[servers]
# Indentation (tabs and/or spaces) is allowed, but not required
[servers.alpha]
ip = "10.0.0.1"
dc = "eqdc10"
[servers.beta]
ip = "10.0.0.2"
dc = "eqdc10"
Варианты использования
[ редактировать ]TOML используется в различных настройках (некоторые из которых связаны с его создателем), таких как:
- Генераторы статических сайтов, такие как Jekyll и Hugo .
- питон язык программирования [9]
- Rust Манифест пакета [5]
- Настройка проекта Julia и манифест пакета [10]
Критика
[ редактировать ]TOML подвергся критике по ряду пунктов: [11] [12]
- TOML многословен; он не СУХОЙ и синтаксически шумный.
- Иерархии TOML может быть трудно определить только на основе синтаксиса.
- Чрезмерное усложнение: как и YAML , TOML имеет слишком много функций.
- В TOML синтаксис определяет типы данных («типизация синтаксиса»).
См. также
[ редактировать ]Примечания
[ редактировать ]Ссылки
[ редактировать ]- ^ «Типы СМИ» . iana.org . обновлено. 07.06.2024. Архивировано из оригинала 18 октября 2017 г. Проверено 11 июня 2024 г.
- ^ «Выпуск 1.0.0» . 12 января 2021 г. Проверено 17 января 2021 г.
- ^ Престон-Вернер, Том (24 февраля 2013 г.). «Первоначальная фиксация · toml-lang/toml@84db252» . Гитхаб . Архивировано из оригинала 15 июня 2024 г. Проверено 15 июня 2024 г.
- ^ Престон-Вернер, Том ; Гедам, Прадюн (11 января 2021 г.). «ТОМЛ: Английский v1.0.0» . Архивировано из оригинала 29 января 2024 года . Проверено 27 января 2024 г.
- ^ Jump up to: а б «Формат манифеста — Грузовая книга» . doc.rust-lang.org . Архивировано из оригинала 26 августа 2019 г. Проверено 8 июля 2023 г.
- ^ ДеВо, Дрю (28 июля 2021 г.). «Мой список пожеланий для следующего YAML» . Архивировано из оригинала 9 марта 2024 г. Проверено 28 июля 2021 г.
YAML одновременно используется повсеместно и одновременно осуждается. У него много проблем, но он настолько полезен при решении конкретных задач, что его трудно заменить. Некоторые новые игроки в этом блоке (например, TOML) успешно захватили часть его доли рынка, но он остается в силе там, где эти альтернативы показывают свои слабости.
- ^ «TOML: Очевидный минимальный язык Тома» . toml.io. Архивировано из оригинала 8 августа 2022 г. Проверено 08 августа 2022 г.
- ^ "томл-ланг/томл" . Гитхаб . 23 мая 2022 года. Архивировано из оригинала 15 февраля 2017 года . Проверено 16 декабря 2016 г. .
- ^ «tomllib — Анализ файлов TOML» . Документация Python . Архивировано из оригинала 11 июня 2024 г. Проверено 8 июля 2023 г.
- ^ «10. Project.toml и Manifest.toml · Pkg.jl» . pkgdocs.julialang.org . Архивировано из оригинала 8 июля 2023 г. Проверено 8 июля 2023 г.
- ^ Что не так с TOML?
- ^ Критика INI TOML