튜플 소개
튜플은 정보를 비공식적으로 묶는 데 흔히 사용돼요. Elixir에서 흔한 패턴은 함수의 반환값을 상태와 함께 묶는 거예요.
File.read("hello.txt")
# => {:ok, "World"}
File.read("invalid.txt")
# => {:error, :enoent}
- 튜플 리터럴은 중괄호
{}로 감싸요.
- 튜플은 어떤 데이터 타입이든 연속된 메모리에 담을 수 있는데, 이 메모리는 튜플을 만들 때 할당돼요.
- 튜플은 상수 시간에 읽을 수 있어요.
- 튜플을 다룰 때는 기존 튜플을 변경하지 않고 새로운 튜플을 만들어요.
- 튜플의 성능 특성 덕분에 관련된 정보를 함께 저장하기에는 이상적이지만, 반복해야 하거나 늘어나거나 줄어들 수 있는 항목들의 모음을 저장하기에는 적합하지 않아요. 후자의 경우에는 배열이 더 적절해요.
-
Kernel과 Tuple 모듈에는 튜플을 다루는 데 유용한 함수들이 있어요.