TOML - TOML

TOML
Файл атауын кеңейту
.toml
Интернет-медиа түріТіркелмеген[1]
ӘзірлеушіТом Престон-Вернер
Қоғамдастық
Бастапқы шығарылым23 ақпан 2013; 7 жыл бұрын (2013-02-23)
Соңғы шығарылым
v1.0.0-rc.1
(3 сәуір, 2020); 8 ай бұрын (2020-04-03))
Пішім түріМәліметтермен алмасу
Ашық формат ?Иә
Веб-сайттомола.io Мұны Wikidata-да өңдеңіз

TOML Бұл файл пішімі үшін конфигурация файлдары. Ол «минималды» болатын айқын семантиканың арқасында оңай оқуға және жазуға арналған, және бірмәнді картаға арналған сөздік. Оның сипаттамасы ашық көзі, және қоғамның жарналарын алады. TOML бірқатар бағдарламалық жасақтамаларда қолданылады,[2][3][бастапқы емес көз қажет ] және көптеген бағдарламалау тілдерінде жүзеге асырылады.[4] «TOML» атауы «Томның айқын, минималды тілі» сөзінің қысқартылған сөзі[5] оның жасаушысына сілтеме жасай отырып, Том Престон-Вернер.

Синтаксис

TOML синтаксисі негізінен тұрады key = «value» жұп, [бөлім атаулары], және # пікір. TOML синтаксисі кейбіріне ұқсас.INI файлдары, бірақ оған формальды спецификация кіреді, ал INI файл форматы көптеген бәсекелес нұсқаларға ұшырайды.

Оның спецификациясы қолдайтын деректер түрлерінің тізімін қамтиды: String, Integer, Float, Boolean, Datetime, Array және Table.

Мысал

# Бұл TOML құжаты.тақырып = «TOML мысалы»[иесі]аты = «Том Престон-Вернер»dob = 1979-05-27T07: 32: 00-08: 00 # Бірінші сынып күндері[дерекқор]сервер = "192.168.1.1"порттар = [ 8000, 8001, 8002 ]байланыс_максимум = 5000қосылды = шын[серверлер]  # Шегініс (қойындылар және / немесе бос орындар) рұқсат етілген, бірақ қажет емес  [серверлер.alpha]  ip = "10.0.0.1"  dc = «eqdc10»  [servers.beta]  ip = "10.0.0.2"  dc = «eqdc10»[клиенттер]деректер = [[«гамма», «дельта»], [1, 2]]Массивтің ішінде # жол үзілістері жақсыхосттар = [  «альфа»,  «омега»]

Басқа форматтармен салыстыру

Келесі кесте TOML сипаттамасы басқа танымал конфигурация форматтарымен салыстыру үшін (INI, JSON, және ЯМЛ ). Сондай-ақ қараңыз Беспон ретінде енгізілген SciPy 2017[6], сондай-ақ модельдеу моделін параметрлеу үшін TOML-ді қолдану туралы талқылау.[7]

Пішімді салыстыру
ПішімРесми стандартИкемді стандартҚатты терілгенОңай іске асыру[дәйексөз қажет ]Адам оқуы мүмкінПікірлерге рұқсат береді
JSONИәЖоқИәИәИәЖоқ
ЯМЛИәЖоқИәЖоқ[8]ИәИә
TOMLИәЖоқИәИәИәИә
INIЖоқИәЖоқИәИәИә

Сын

TOML алғашқы шыққаннан бері бірнеше сынға ие болды. The Қатаң YAML жоба TOML-де келесі мәселелерді тізімдейді:[9]

  • TOML көп мағыналы, ол құрғақ емес және синтаксистік жағынан шулы
  • TOML иерархияларын тек синтаксистен шығару қиын
  • Шамадан тыс асқыну: YAML сияқты, TOML тым көп мүмкіндіктерге ие
  • TOML-де синтаксис мәліметтер типтерін анықтайды («синтаксисті теру»)

The либонфини Содан бері жоба TOML-ге кеңінен сын айтты INI перспектива,[10] келесі мәселелерді (басқалармен қатар) проблемалық деп санау:

  • TOML конфигурация файлына деректер түрлері туралы шешім қабылдауға мүмкіндік береді (синтаксисті теру), қашан іс жүзінде бұл клиенттің қосымшасы шешеді және сәйкес келмейтін кез келген түр еленбейді немесе күтілетін түрге ауыстырылады (талдаушыға байланысты)
  • TOML әдетте адамға ыңғайлы тілдерден қалай құтылуға тырысады: синтаксис және жолдар үшін тырнақшаларды қолдану қажеттілігі
  • TOML синтаксисі әрдайым регистрді ескереді, дегенмен конфигурация файлдары болатын жағдайлар бар керек регистрді ескермеу (мысалы, FAT32 файлдық жүйесін немесе HTML тегтерін бейнелейтін конфигурация файлдары сияқты)
  • TOML массивтер үшін квадрат жақшаларды қолданады, бірақ төртбұрышты жақшалар кесте атаулары үшін сақталған; массивтерге арналған кез-келген арнайы синтаксис тілді синтаксисті теруге қайтарады
  • TOML кестесі бір қадамда толтырылуы керек, сондықтан бірнеше TOML файлын біріктіру қиынға соғады
  • TOML ерікті түрде күндер синтаксисін енгізеді
  • TOML кілт ретінде бос жолға рұқсат береді (бірақ кедергі жасайды)
  • TOML ережелерін мазмұннан шығаруға болмайды, сондықтан TOML файлын өңдеу тілді алдын-ала білуді талап етеді
  • TOML INI-мен сәйкес келмейді

Сондай-ақ қараңыз

Әдебиеттер тізімі

  1. ^ TOML үшін MIME типті ұсыныс бар қолдану / томл, бірақ бұл ешқашан ресми түрде тіркелмеген IANA-ның БАҚ түрлері.
  2. ^ «TOML - TOML Wiki қолданатын жобалар».
  3. ^ «Манифест форматы - жүк кітабы».
  4. ^ «Іске асыру - TOML Wiki».
  5. ^ «GitHub - toml-lang / toml: Tom's айқын, минималды тіл».
  6. ^ https://conference.scipy.org/proceedings/scipy2017/geoffrey_poore.html
  7. ^ https://subversion.american.edu/aisaac/notes/toml-intro.html
  8. ^ https://news.ycombinator.com/item?id=7938180
  9. ^ TOML-де қандай қате бар?
  10. ^ TOML-дің INI сыны

Сыртқы сілтемелер