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" }