Lua:
Робота з TOML

Як це зробити:

Спочатку переконайтесь, що ваше середовище Lua має парсер TOML. Ми використаємо lua-toml для цього прикладу.

local toml = require("toml")

-- Розбір рядка TOML
local toml_data = [[
title = "Приклад TOML"

[owner]
name = "Том Престон-Вернер"
dob = 1979-05-27T07:32:00Z
]]

local data = toml.parse(toml_data)
print(data.title) -- "Приклад TOML"

-- Генерація рядка TOML
local table_data = {
  title = "Приклад TOML",
  owner = {
    name = "Том Престон-Вернер",
    dob = os.time({year=1979, month=5, day=27, hour=7, min=32})
  }
}

local toml_string = toml.encode(table_data)
print(toml_string)

Приклад виводу:

Приклад TOML

Поглиблений розгляд

TOML було створено Томом Престон-Вернером у 2013 році як альтернативу іншим мовам серіалізації даних, таким як XML та YAML, пропонуючи більш простий формат для представлення конфігураційних даних. Попри повсюдність JSON, його синтаксис може бути громіздким для конфігураційних файлів. TOML виділяється чіткішим синтаксисом для людей, нагадуючи .ini файли, але з можливостями вкладеності та типами даних.

Альтернативами TOML є JSON, YAML та XML. Однак, TOML спеціально розроблений для конфігурації і, можна сказати, є простішим, ніж YAML, більш читабельним, ніж JSON для цілей конфігурації, та менш многослівним, ніж XML.

Впровадження обробки TOML у Lua зазвичай потребує сторонньої бібліотеки. Продуктивність і можливості можуть відрізнятися, від базового розбору до повної підтримки серіалізації. При роботі з великими конфігураційними файлами або частими операціями читання/запису, враховуйте продуктивність бібліотеки та відповідність останій версії TOML.

Дивіться також