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.
Дивіться також
- Мова TOML: https://toml.io/en/
- Репозиторій
toml-elixir
на GitHub: https://github.com/bitwalker/toml-elixir - Деталі HEX-пакету для
toml-elixir
: https://hex.pm/packages/toml_elixir