Elixir:
Praca z TOML

Jak to zrobić:

Najpierw, dodaj parser TOML do swoich zależności mix. Przykład używa toml-elixir:

def deps do
  [
    {:toml_elixir, "~> 2.0"}
  ]
end

Czytanie pliku TOML:

{:ok, toml_data} = File.read("config.toml")
{:ok, parsed_data} = TomlElixir.parse(toml_data)

Aby przekonwertować dane Elixir na TOML:

data = %{title: "Przykład TOML", owner: %{name: "Tom Preston-Werner"}}
toml_string = TomlElixir.encode(data)

Przykładowy wynik:

"title = \"Przykład TOML\"\n\n[owner]\nname = \"Tom Preston-Werner\"\n"

Pogłębiona analiza

TOML został stworzony przez Toma Preston-Wernera, współzałożyciela GitHuba, do użytku w plikach konfiguracyjnych. Jest zaprojektowany, aby być bardziej prostolinijny niż XML i bardziej zwięzły niż YAML, jednocześnie utrzymując spójność.

Alternatywy obejmują JSON, YAML i pliki INI, każdy z własnymi kompromisami w czytelności dla ludzi i kompatybilności struktur danych. TOML wyróżnia się wyraźnym przedstawieniem danych tabelarycznych i zagnieżdżonym grupowaniem danych.

W Elixir, obsługa TOML zależy od bibliotek dekodowania i kodowania, które przekształcają ciągi TOML w mapy Elixir i odwrotnie. Parsowanie działa poprzez dopasowywanie do reguł składni TOML i konwertowanie ich na typy danych Elixir. Kodowanie robi to odwrotnie, mapując typy danych Elixir z powrotem na ważną składnię TOML.

Zobacz również