Elixir:
YAML로 작업하기

어떻게 사용하는가:

Elixir는 내장된 YAML 지원을 포함하고 있지 않습니다. 그러나, yamerl이나 yaml_elixir와 같은 제3자 라이브러리를 사용하여 YAML을 작업할 수 있습니다. 여기에서는 사용의 용이성과 포괄적인 기능 때문에 yaml_elixir에 초점을 맞출 것입니다.

먼저, mix.exs 의존성에 yaml_elixir을 추가하세요:

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

그 다음, mix deps.get을 실행하여 새로운 의존성을 가져오세요.

YAML 읽기

다음과 같은 간단한 YAML 파일 config.yaml이 있습니다:

database:
  adapter: postgres
  username: user
  password: pass

이 YAML 파일을 읽고 이를 엘릭서 맵으로 변환할 수 있습니다:

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

# 샘플 사용예
Config.read()
# 출력: 
# %{
#   "database" => %{
#     "adapter" => "postgres",
#     "username" => "user",
#     "password" => "pass"
#   }
# }

YAML 쓰기

맵을 다시 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

# 샘플 사용예
ConfigWriter.write()
# 이것은 지정된 내용으로 `new_config.yaml`을 생성하거나 덮어쓸 것입니다

yaml_elixir이 YAML 파일과 엘릭서 데이터 구조간의 직관적인 변환을 가능하게 해주어, YAML 데이터를 다뤄야 하는 엘릭서 프로그래머들에게 훌륭한 선택이 되고 있음을 알 수 있습니다.