CharIndices — 문자와 위치를 함께 순회하는 반복자

CharIndices — 문자와 위치를 함께 순회하는 반복자

CharIndices는 문자열 슬라이스의 char들과 그 위치(바이트 인덱스)를 순회하는 반복자예요. str::char_indices 메서드로 생성돼요.

출처: Rust 공식 문서

본문

pub struct CharIndices<'a> { /* private fields */ }

주요 메서드

// 원본 데이터의 하위 슬라이스로 기저 데이터를 봐요.
pub fn as_str(&self) -> &'a str

// 다음 문자의 바이트 위치, 또는 더 이상 문자가 없으면 기저 문자열의 길이를 반환해요.
pub fn offset(&self) -> usize

as_str은 원본 슬라이스와 같은 수명을 가지며, 반복자가 존재하는 동안 계속 사용할 수 있어요.

offset는 반복자가 완전히 소비되지 않았다면, 다음 next() 호출에서 반환될 인덱스와 일치하는 값을 돌려줘요.

예시

let mut chars = "a楽".char_indices();

// 아직 `next()`를 호출하지 않았으므로 `offset()`은 문자열의 첫 문자의
// 바이트 인덱스인 0을 반환해요.
assert_eq!(chars.offset(), 0);
// 예상대로 첫 `next()` 호출도 인덱스 0을 반환해요.

더 알아보기 (Learn more)