O que é um arquivo TOML?
TOML (Tom’s Obvious Minimal Language) é um formato de arquivo de configuração mínima que usa a extensão .toml. O TOML visa ser fácil de ler, mapear sem ambiguidade para dicionários e ser fácil de analisar diferentes estruturas de dados. TOML tem uma especificação de código aberto que recebeu contribuições da comunidade. TOML é suportado por muitas linguagens de programação como C, C#, Dart, Elixir, Erlang, Go, Java, PHP, Python, Ruby, Swift, etc. O tipo MIME para arquivos TOML é application/toml.
Formato de arquivo TOML
Os arquivos TOML consistem principalmente em pares de chave/valor, seções/tabelas, comentários e devem ser um documento Unicode codificado em UTF-8 válido. O TOML suporta os tipos de dados String, Integer, Float, Boolean, Datetime, Array e Table (tabela de hash/dicionário). TOML é uma linguagem que diferencia maiúsculas de minúsculas.
Sintaxe
- Pares de valores-chave: os pares de valores-chave são separados por um sinal de igual (=). Cada par deve estar em uma nova linha.
primeiro = "Tom"
last = "Preston-Werner"
- Comentários: Os comentários começam com o símbolo de hash (#).
# Este é um documento TOML.
- Strings: as strings estão entre aspas ("").
string = "String de exemplo"
- Strings de várias linhas: Strings de várias linhas são cercadas por três aspas (""").
[endereço residencial]
rua = """123 Tornado Alley
Suíte 16"""
cidade = "East Centerville"
estado = "KS"
- Inteiros/Floats
inteiro = 20
flutuar = 20,5
- Booleanos: Booleanos são sempre minúsculos.
bool1 = verdadeiro
bool2 = falso
- Date-Time: Para DateTime, você pode usar uma data e hora formatada em RFC 3339, conforme mostrado no exemplo abaixo.
offset_date_time = 1979-05-27 07:32:00Z
local_date_time = 1979-05-27T07:32:00
data_local = 27-05-1979
local_time = 07:32:00
- Matrizes: As matrizes são cercadas por colchetes com elementos separados por vírgulas (,).
cores = [ "vermelho", "amarelo", "verde" ]
- Tabelas: as tabelas são coleções de pares de chave/valor que são definidos por cabeçalhos em uma nova linha entre colchetes ([]). A tabela termina quando um novo cabeçalho é fornecido ou quando o arquivo termina.
[endereço residencial]
rua = """123 Tornado Alley
Suíte 16"""
cidade = "East Centerville"
estado = "KS"
[Endereço do escritório]
rua = """123 Tornado Alley
Suíte 16"""
cidade = "East Centerville"
estado = "KS"
As tabelas inline são cercadas por chaves ({}) com cada par de chave/valor separado por vírgula (,).
nome = { primeiro = "Tom", último = "Pitt" }