range — 범위의 경계 검사
range — 범위의 경계 검사
range는 범위(bounds)의 경계 검사를 수행해, 대상이 경계를 벗어나면 패닉을 일으키는 기존 인덱싱 동작과 달리 검사된 결과를 반환하는 함수예요. nightly 전용 실험 API(slice_range, #76393)이에요.
출처: Rust 공식 문서
본문
pub const fn range<R>(range: R, bounds: RangeTo<usize>) -> Range<usize>
where
R: RangeBounds<usize>,
이 함수는 슬라이스에 대한 Index::index와 비슷하지만, 슬라이스 대신 경계(bounds)를 검사해요. 범위가 경계를 벗어나면 패닉을 일으킬 수 있어요.
let slice = [0, 1, 2, 3];
let r = std::slice::range(1..3, ..slice.len());
assert_eq!(r, 1..3);
일반적으로 slice.get(range) 같은 안전한 메서드보다 직접 사용할 일은 적어요.
참고: 같은 이름의
std::ops::Range구조체(반열린 범위start..end)와는 다른 항목이에요. 이 문서는 경계 검사를 수행하는slice::range함수를 다룹니다.