Range — 반개방 범위 표현
Range — 반개방 범위 표현
Range<Idx>는 a..b 구문으로 표현되는 반개방(half-open) 범위 타입이에요. a <= x < b인 값을 나타내요.
출처: Rust 공식 문서
본문
pub struct Range<Idx> {
pub start: Idx,
pub end: Idx,
}
Range는 Iterator를 구현해 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 메서드 등을 제공해요.