Elixir:
Arbeiten mit YAML
Wie dazu:
Elixir bietet keine eingebaute Unterstützung für YAML. Sie können jedoch Drittanbieter-Bibliotheken wie yamerl
oder yaml_elixir
verwenden, um mit YAML zu arbeiten. Hier konzentrieren wir uns auf yaml_elixir
wegen seiner Benutzerfreundlichkeit und umfassenden Funktionen.
Fügen Sie zunächst yaml_elixir
zu Ihren mix.exs-Abhängigkeiten hinzu:
defp deps do
[
{:yaml_elixir, "~> 2.9"}
]
end
Führen Sie dann mix deps.get
aus, um die neue Abhängigkeit abzurufen.
YAML lesen
Gegeben sei eine einfache YAML-Datei, config.yaml
, die so aussieht:
database:
adapter: postgres
username: user
password: pass
Sie können diese YAML-Datei lesen und in eine Elixir-Map umwandeln wie folgt:
defmodule Config do
def read do
{:ok, content} = YamlElixir.read_from_file("config.yaml")
content
end
end
# Beispielverwendung
Config.read()
# Ausgabe:
# %{
# "database" => %{
# "adapter" => "postgres",
# "username" => "user",
# "password" => "pass"
# }
# }
YAML schreiben
Um eine Map zurück in eine YAML-Datei zu schreiben:
defmodule ConfigWriter do
def write do
content = %{
database: %{
adapter: "mysql",
username: "root",
password: "s3cret"
}
}
YamlElixir.write_to_file("new_config.yaml", content)
end
end
# Beispielverwendung
ConfigWriter.write()
# Dies wird `new_config.yaml` mit dem angegebenen Inhalt erstellen oder überschreiben
Beachten Sie, wie yaml_elixir
eine unkomplizierte Übersetzung zwischen YAML-Dateien und Elixir-Datenstrukturen ermöglicht, was es zu einer ausgezeichneten Wahl für Elixir-Programmierer macht, die mit YAML-Daten arbeiten müssen.