#TIL #elixirlang get_in 함수에 default 값을 넣는 곳은 없나?
리턴 값이 nil인지 검사해서 다른 값을 사용하는 것보단 nil일 때, 사용할 default 값을 인자로 넘길 수 있다면 로직이 깔끔해진다. 인자를 3개 받는 get_in/3을 기대했지만, get_in/2 밖에 없다. 필요하면 만들어 써야 한다.
def get_in(data, path, default) do
case get_in(data, path) do
nil -> default
other -> other
end
end
이렇게 한번 감싸거나
get_in(data, path) || default
short-circuit evaluation에 살짝 기대거나. 이 바닥에선 많이 쓰니깐 이렇게 써도 무방하다.