Drain — String에서 제거하며 순회하는 반복자
Drain — String에서 제거하며 순회하는 반복자
Drain은 String을 위한 draining 반복자예요. 순회하면서 해당 범위의 문자들을 문자열에서 제거해요. String::drain 메서드로 생성돼요.
출처: Rust 공식 문서
본문
pub struct Drain<'a> { /* private fields */ }
주요 메서드
// 이 반복자의 남은 (하위) 문자열을 슬라이스로 반환해요.
pub fn as_str(&self) -> &str
예시
let mut s = String::from("abc");
let mut drain = s.drain(..);
assert_eq!(drain.as_str(), "abc");
이 반복자는 Debug, DoubleEndedIterator, ExactSizeIterator, FusedIterator, Iterator, Send, Sync 등을 구현해요. Drain이 소멸될 때 나머지 요소가 문자열에서 제거되고, 문자열에서 제거된 부분은 빈 상태로 정리돼요.