Elixir:
Att Arbeta med YAML
Hur man gör:
Elixir inkluderar inte inbyggt stöd för YAML. Du kan dock använda tredjepartsbibliotek såsom yamerl
eller yaml_elixir
för att arbeta med YAML. Här kommer vi att fokusera på yaml_elixir
på grund av dess användarvänlighet och omfattande funktioner.
Först, lägg till yaml_elixir
i dina beroenden i mix.exs:
defp deps do
[
{:yaml_elixir, "~> 2.9"}
]
end
Kör sedan mix deps.get
för att hämta det nya beroendet.
Läsa YAML
Givet en enkel YAML-fil, config.yaml
, som ser ut så här:
database:
adapter: postgres
username: user
password: pass
Du kan läsa denna YAML-fil och konvertera den till en Elixir-mapp på följande sätt:
%module Config do
def read do
{:ok, content} = YamlElixir.read_from_file("config.yaml")
content
end
end
# Exempelanvändning
Config.read()
# Output:
# %{
# "database" => %{
# "adapter" => "postgres",
# "username" => "user",
# "password" => "pass"
# }
# }
Skriva YAML
För att skriva en mapp tillbaka till en YAML-fil:
defmodule ConfigWriter do
def write do
content = %{
database: %{
adapter: "mysql",
username: "root",
password: "s3cret"
}
}
YamlElixir.write_to_file("new_config.yaml", content)
end
end
# Exempelanvändning
ConfigWriter.write()
# Detta kommer att skapa eller skriva över `new_config.yaml` med det angivna innehållet
Notera hur yaml_elixir
möjliggör en enkel översättning mellan YAML-filer och Elixir-datastrukturer, vilket gör det till ett utmärkt val för Elixir-programmerare som behöver arbeta med YAML-data.