Elixir:
Робота з TOML

Як це зробити:

Спочатку додайте парсер TOML до залежностей вашого mix. У цьому прикладі використовується toml-elixir:

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

Читання файлу TOML:

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

Для конвертації даних Elixir в TOML:

data = %{title: "Томл-приклад", owner: %{name: "Том Престон-Вернер"}}
toml_string = TomlElixir.encode(data)

Приклад виводу:

"title = \"Томл-приклад\"\n\n[owner]\nname = \"Том Престон-Вернер\"\n"

Поглиблений огляд

TOML був створений Томом Престон-Вернером, співзасновником GitHub, для використання у файлах конфігурації. Його створено бути простішим за XML та більш лаконічним за YAML, при цьому зберігаючи послідовність.

Альтернативи включають файли JSON, YAML та INI, кожен із яких має свої компроміси у легкості читання та сумісності структури даних. TOML перевершує в чіткому представленні табличних даних і вкладеному групуванні даних.

У Elixir обробка TOML залежить від бібліотек декодування та кодування, які перетворюють рядки TOML на мапи Elixir і навпаки. Парсинг працює шляхом співставлення синтаксичних правил TOML і конвертації їх у типи даних Elixir. Кодування робить протилежне, відображаючи типи даних Elixir назад до дійсного синтаксису TOML.

Дивіться також