Elixir:
Lavorare con TOML

Come fare:

Prima, aggiungi un parser TOML alle tue dipendenze mix. Questo esempio utilizza toml-elixir:

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

Leggere un file TOML:

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

Per convertire dati Elixir in TOML:

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

Output di esempio:

"title = \"Esempio TOML\"\n\n[owner]\nname = \"Tom Preston-Werner\"\n"

Approfondimento

TOML è stato creato da Tom Preston-Werner, co-fondatore di GitHub, per essere utilizzato nei file di configurazione. È progettato per essere più semplice rispetto a XML e più conciso rispetto a YAML, mantenendo al contempo consistenza.

Le alternative includono file JSON, YAML e INI, ognuno con i propri compromessi in termini di leggibilità umana e compatibilità delle strutture dati. TOML eccelle nel rappresentare chiaramente dati tabellari e nel raggruppamento annidato dei dati.

In Elixir, la gestione di TOML dipende da librerie di decodifica e codifica, che trasformano le stringhe TOML in mappe Elixir e viceversa. L’analisi funziona abbinando le regole sintattiche di TOML e convertendole nei tipi di dati di Elixir. La codifica fa l’opposto mappando i tipi di dati di Elixir di nuovo in una sintassi TOML valida.

Vedi Anche