저항의 색을 나타내는 아톰이 주어졌을 때, 색에 맞는 숫자 값을 반환하는 문제였다. 너무 간단해서 딱히 덧붙일 게 없음...
아, 함수를 나눠서 구현할까(예: def code(:black), do: 0
) 하는 고민을 잠깐 했는데, 생각해보니 데이터는 코드에서 분리해서 따로 빼는 것이 맞을 것 같아 지금과 같은 코드가 되었다.
defmodule ResistorColor do
@register_color %{
black: 0,
brown: 1,
red: 2,
orange: 3,
yellow: 4,
green: 5,
blue: 6,
violet: 7,
grey: 8,
white: 9
}
@doc """
Return the value of a color band
"""
@spec code(atom) :: integer()
def code(color) do
@register_color[color]
end
end
'호두나무 공방 > Exercism in Elixir' 카테고리의 다른 글
Strain - Exercism in Elixir (0) | 2022.04.14 |
---|---|
Resistor Color Duo - Exercism in Elixir (0) | 2022.04.13 |
Wine Cellar - Exercism in Elixir (0) | 2022.04.12 |
Take-A-Number - Exercism in Elixir (0) | 2022.04.11 |
DNA Encoding - Exercism in Elixir (0) | 2022.04.06 |