Range — 반개방 범위 표현

Range — 반개방 범위 표현

Range<Idx>a..b 구문으로 표현되는 반개방(half-open) 범위 타입이에요. a <= x < b인 값을 나타내요.

출처: Rust 공식 문서

본문

pub struct Range<Idx> {
    pub start: Idx,
    pub end: Idx,
}

RangeIterator를 구현해 start 이상 end 미만의 값을 순회해요. 슬라이스 인덱싱, for 루프, 벡터 부분 추출 등에 널리 사용돼요.

예시

let r = 1..5;  // 1,2,3,4
assert_eq!((1..5).collect::<Vec<_>>(), vec![1,2,3,4]);

let arr = [0,1,2,3,4];
assert_eq!(&arr[1..3], &[1,2]);  // 인덱스 1,2

Range<Idx>Idx: PartialOrd<Idx>를 요구하는 contains 메서드 등을 제공해요.

더 알아보기 (Learn more)