Elixir:
Praca z YAML
Jak to zrobić:
Elixir nie zawiera wbudowanego wsparcia dla YAML. Można jednak korzystać z bibliotek firm trzecich, takich jak yamerl
lub yaml_elixir
, aby pracować z YAML. Tutaj skupimy się na yaml_elixir
ze względu na jego łatwość użycia i obszerne funkcje.
Po pierwsze, dodaj yaml_elixir
do zależności w pliku mix.exs:
defp deps do
[
{:yaml_elixir, "~> 2.9"}
]
end
Następnie uruchom mix deps.get
, aby pobrać nową zależność.
Czytanie YAML
Biorąc pod uwagę prosty plik YAML, config.yaml
, który wygląda tak:
database:
adapter: postgres
username: user
password: pass
Możesz odczytać ten plik YAML i przekonwertować go na mapę Elixir tak:
defmodule Config do
def read do
{:ok, content} = YamlElixir.read_from_file("config.yaml")
content
end
end
# Przykładowe użycie
Config.read()
# Wynik:
# %{
# "database" => %{
# "adapter" => "postgres",
# "username" => "user",
# "password" => "pass"
# }
# }
Pisanie YAML
Aby zapisać mapę z powrotem do pliku 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
# Przykładowe użycie
ConfigWriter.write()
# To utworzy lub nadpisze `new_config.yaml` z podaną zawartością
Zauważ, jak yaml_elixir
umożliwia proste tłumaczenie między plikami YAML a strukturami danych Elixir, co czyni go doskonałym wyborem dla programistów Elixir potrzebujących pracować z danymi YAML.