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"}
]
endEnsuite, 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: passVous 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.