Elixir:
Travailler avec YAML
Comment faire :
Elixir n’inclut pas de support intégré pour YAML. Cependant, vous pouvez utiliser des bibliothèques tierces telles que yamerl
ou yaml_elixir
pour travailler avec YAML. Ici, nous nous concentrerons sur yaml_elixir
pour sa facilité d’utilisation et ses fonctionnalités complètes.
Tout d’abord, ajoutez yaml_elixir
à vos dépendances mix.exs :
defp deps do
[
{:yaml_elixir, "~> 2.9"}
]
end
Ensuite, exécutez mix deps.get
pour récupérer la nouvelle dépendance.
Lire YAML
Étant donné un fichier YAML simple, config.yaml
, qui ressemble à ceci :
database:
adapter: postgres
username: user
password: pass
Vous pouvez lire ce fichier YAML et le convertir en une map Elixir comme suit :
defmodule Config do
def read do
{:ok, contenu} = YamlElixir.read_from_file("config.yaml")
contenu
end
end
# Exemple d'utilisation
Config.read()
# Sortie :
# %{
# "database" => %{
# "adapter" => "postgres",
# "username" => "user",
# "password" => "pass"
# }
# }
Écrire en YAML
Pour écrire une map dans un fichier YAML :
defmodule ConfigWriter do
def write do
contenu = %{
database: %{
adapter: "mysql",
username: "root",
password: "s3cret"
}
}
YamlElixir.write_to_file("new_config.yaml", contenu)
end
end
# Exemple d'utilisation
ConfigWriter.write()
# Cela créera ou écrasera `new_config.yaml` avec le contenu spécifié
Remarquez comment yaml_elixir
permet une traduction directe entre les fichiers YAML et les structures de données Elixir, en faisant un excellent choix pour les programmeurs Elixir ayant besoin de travailler avec des données YAML.