Elixir:
Att arbeta med TOML

Hur:

Börja med att lägga till en TOML-tolk i dina mix-beroenden. Det här exemplet använder toml-elixir:

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

Läs en TOML-fil:

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

För att konvertera Elixir-data till TOML:

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

Exempelutskrift:

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

Djupdykning

TOML skapades av Tom Preston-Werner, medgrundare av GitHub, för användning i konfigurationsfiler. Det är utformat för att vara mer rakt på sak än XML och mer koncist än YAML samtidigt som det bibehåller konsekvens.

Alternativ inkluderar JSON, YAML och INI-filer, var och en med sina avvägningar i människoläsbarhet och datastrukturkompatibilitet. TOML utmärker sig i att tydligt representera tabulär data och nästlade grupperingar av data.

I Elixir beror hanteringen av TOML på bibliotek för avkodning och kodning, vilka transformerar TOML-strängar till Elixir-kartor och tvärtom. Tolkningen fungerar genom att matcha TOML:s syntaxregler och omvandla dem till Elixirs datatyper. Kodningen gör motsatsen genom att mappa Elixirs datatyper tillbaka till giltig TOML-syntax.

Se även