Elixir:
Робота з YAML
Як це зробити:
Elixir не містить вбудованої підтримки YAML. Однак, ви можете використовувати сторонні бібліотеки, такі як yamerl
або yaml_elixir
, для роботи з YAML. Тут ми зосередимося на yaml_elixir
через його простоту використання та комплексні можливості.
Спочатку додайте yaml_elixir
до вашої залежності mix.exs:
defp deps do
[
{:yaml_elixir, "~> 2.9"}
]
end
Потім, запустіть mix deps.get
, щоб отримати нову залежність.
Читання YAML
Уявімо простий YAML файл, config.yaml
, який виглядає так:
database:
adapter: postgres
username: user
password: pass
Ви можете прочитати цей YAML файл і перетворити його в карту Elixir таким чином:
defmodule Config do
def read do
{:ok, content} = YamlElixir.read_from_file("config.yaml")
content
end
end
# Приклад використання
Config.read()
# Вивід:
# %{
# "database" => %{
# "adapter" => "postgres",
# "username" => "user",
# "password" => "pass"
# }
# }
Запис YAML
Щоб записати карту назад в YAML файл:
defmodule ConfigWriter do
def write do
content = %{
database: %{
adapter: "mysql",
username: "root",
password: "s3cret"
}
}
YamlElixir.write_to_file("new_config.yaml", content)
end
end
# Приклад використання
ConfigWriter.write()
# Це створить або перезапише `new_config.yaml` з вказаним змістом
Зверніть увагу, як yaml_elixir
дозволяє легко перекладати файли YAML та структури даних Elixir, роблячи його відмінним вибором для програмістів Elixir, яким необхідно працювати з даними YAML.