Date.Range
Date.Range
두 날짜 사이의 포괄적인(inclusive) 범위를 나타내는 struct예요. 날짜 범위는 Date.range/2나 Date.range/3 함수로 만들어야 해요.
출처: Date.Range
본문
다음 필드들은 공개(public) 필드예요.
:first— 범위의 시작 날짜:last— 범위의 마지막 날짜:step— (v1.12.0부터) 스텝
나머지 필드는 비공개(private)라서 직접 접근하면 안 돼요.
예를 들어 날짜 범위는 Enum과 함께 쓰면 아주 유용해요. 범위 안의 각 날짜를 순회하거나, 특정 날짜가 범위 안에 들어오는지 확인하고, 두 날짜 범위의 공통 부분을 구할 수 있거든요.
iex> Enum.to_list(Date.range(~D[2024-01-01], ~D[2024-01-03]))
[~D[2024-01-01], ~D[2024-01-02], ~D[2024-01-03]]
iex> ~D[2024-01-02] in Date.range(~D[2024-01-01], ~D[2024-01-03])
true
Summary(요약)
이 모듈이 정의하는 타입은 t() 하나예요. 공개 필드(:first, :last, :step)는 struct 필드로 직접 접근하며, 날짜 범위를 순회하거나 검사하는 실제 동작은 Enum 프로토콜 구현을 통해 이뤄져요.