Elixir:
Trabajando con YAML
Cómo hacerlo:
Elixir no incluye soporte incorporado para YAML. Sin embargo, puedes utilizar bibliotecas de terceros tales como yamerl
o yaml_elixir
para trabajar con YAML. Aquí, nos centraremos en yaml_elixir
por su facilidad de uso y características completas.
Primero, agrega yaml_elixir
a tus dependencias en mix.exs:
defp deps do
[
{:yaml_elixir, "~> 2.9"}
]
end
Luego, ejecuta mix deps.get
para obtener la nueva dependencia.
Leyendo YAML
Dados un simple archivo YAML, config.yaml
, que se ve así:
database:
adapter: postgres
username: user
password: pass
Puedes leer este archivo YAML y convertirlo en un mapa de Elixir de la siguiente manera:
defmodule Config do
def read do
{:ok, content} = YamlElixir.read_from_file("config.yaml")
content
end
end
# Ejemplo de uso
Config.read()
# Salida:
# %{
# "database" => %{
# "adapter" => "postgres",
# "username" => "user",
# "password" => "pass"
# }
# }
Escribiendo YAML
Para escribir un mapa de vuelta a un archivo 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
# Ejemplo de uso
ConfigWriter.write()
# Esto creará o sobrescribirá `new_config.yaml` con el contenido especificado
Observa cómo yaml_elixir
permite una traducción directa entre archivos YAML y estructuras de datos de Elixir, convirtiéndolo en una excelente opción para los programadores de Elixir que necesitan trabajar con datos YAML.