리스트와 재귀
리스트의 머리와 꼬리
엘릭서의 리스트는 머리와 꼬리로 구성되어 있다. 이는 리스트의 재귀적 정의로, 파이프 기호(|)로 머리와 꼬리를 구분할 수 있다. 재귀적 정의의 의미는 다음과 같은 현태의 리스트를 정의할 수 있다는 의미이다.
defmodule MyList do
def len([]), do: 0
def len([_head | tail]), do: 1 + len(tail)
end
MyList.len([1 | [2 | [3 | []]]])