Lua:
Trabalhando com TOML

Como fazer:

Primeiro, certifique-se de que o seu ambiente Lua possui um analisador de TOML. Usaremos lua-toml para este exemplo.

local toml = require("toml")

-- Analisar string TOML
local toml_data = [[
title = "Exemplo TOML"

[owner]
name = "Tom Preston-Werner"
dob = 1979-05-27T07:32:00Z
]]

local data = toml.parse(toml_data)
print(data.title) -- "Exemplo TOML"

-- Gerar string TOML
local table_data = {
  title = "Exemplo TOML",
  owner = {
    name = "Tom Preston-Werner",
    dob = os.time({year=1979, month=5, day=27, hour=7, min=32})
  }
}

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

Saída de Exemplo:

Exemplo TOML

Mergulho Profundo

TOML foi criado por Tom Preston-Werner em 2013 como uma alternativa a outras linguagens de serialização de dados como XML e YAML, oferecendo um formato mais direto para representar dados de configuração. Embora o JSON seja onipresente, sua sintaxe pode ser pesada para arquivos de configuração. TOML brilha com uma sintaxe mais clara para humanos, lembrando arquivos .ini mas com capacidades de aninhamento e tipos de dados.

Alternativas ao TOML incluem JSON, YAML e XML. No entanto, TOML é especificamente projetado para configuração e é, argumentavelmente, mais simples que o YAML, mais legível que o JSON para fins de configuração, e menos prolixo que o XML.

Implementar o tratamento de TOML em Lua geralmente requer uma biblioteca de terceiros. Desempenho e recursos podem variar, desde análise básica até suporte completo de serialização. Ao lidar com grandes arquivos de configuração ou operações frequentes de leitura/escrita, considere o desempenho da biblioteca e a conformidade com a versão mais recente do TOML.

Veja Também