Elixir:
Työskentely YAML:n kanssa

Miten:

Elixir ei sisällä sisäänrakennettua tukea YAML:lle. Voit kuitenkin käyttää kolmannen osapuolen kirjastoja, kuten yamerl tai yaml_elixir, työskennelläksesi YAML:n kanssa. Tässä keskitymme yaml_elixir-kirjastoon sen käytön helppouden ja kattavien ominaisuuksien vuoksi.

Lisää ensin yaml_elixir mix.exs-riippuvuuksiisi:

defp deps do
  [
    {:yaml_elixir, "~> 2.9"}
  ]
end

Suorita sitten mix deps.get hakeaksesi uuden riippuvuuden.

YAML:n lukeminen

Oletetaan, että sinulla on yksinkertainen YAML-tiedosto, config.yaml, joka näyttää tältä:

database:
  adapter: postgres
  username: user
  password: pass

Voit lukea tämän YAML-tiedoston ja muuntaa sen Elixir-mappiin näin:

defmodule Config do
  def read do
    {:ok, content} = YamlElixir.read_from_file("config.yaml")
    content
  end
end

# Esimerkki käyttö
Config.read()
# Tuloste: 
# %{
#   "database" => %{
#     "adapter" => "postgres",
#     "username" => "user",
#     "password" => "pass"
#   }
# }

YAML:n kirjoittaminen

Mapin kirjoittaminen takaisin YAML-tiedostoon:

defmodule ConfigWriter do
  def write do
    content = %{
      database: %{
        adapter: "mysql",
        username: "root",
        password: "s3cret"
      }
    }
    
    YamlElixir.write_to_file("new_config.yaml", content)
  end
end

# Esimerkki käyttö
ConfigWriter.write()
# Tämä luo tai ylikirjoittaa `new_config.yaml`-tiedoston määritellyllä sisällöllä

Huomaa, kuinka yaml_elixir mahdollistaa suoraviivaisen käännöksen YAML-tiedostojen ja Elixir-tietorakenteiden välillä, tehden siitä erinomaisen valinnan Elixir-ohjelmoijille, jotka tarvitsevat työskennellä YAML-datan kanssa.