less than 1 minute read

iex> [key1: "value1", key2: "value2"] |> Enum.into(%{})
%{key1: "value1", key2: "value2"}

Enum.into/2 함수를 사용하면 된다. Enum.map_reduce/3 함수를 써서 복잡하게 난리부르스를 추다가 구글링으로 간편한 방법을 알아냈다.

iex> [{:key1, "value1"}, {:key2, "value2"}] == [key1: "value1", key2: "value2"]
true

special syntax를 써서 편하게 keyword list를 만들 수 있다. 실제론 tuple의 list. Enum.into/2 함수는 원소를 하나씩 변환하는데, tuple의 원소 개수가 2개면 key와 value로 해석해서 map에 추가한다.

참고 - Elixir: How to convert a keyword list to a map? - stackoverflow.com