trait_Extend
trait_Extend (컬렉션 확장 트레이트)
반복자의 내용물로 컬렉션을 확장하는 트레이트예요. 이미 존재하는 키를 가진 항목을 확장하면 그 항목이 갱신되어요.
출처: Rust 공식 문서
본문
반복자는 일련의 값들을 만들어 내고, 컬렉션도 일련의 값들로 생각할 수 있어요. Extend 트레이트는 이 차이를 연결해서, 반복자의 내용을 포함시켜 컬렉션을 확장할 수 있게 해 줘요. 이미 존재하는 키를 가진 컬렉션을 확장하면 그 항목은 갱신되고, 같은 키를 가진 여러 항목을 허용하는 컬렉션의 경우에는 그 항목이 삽입돼요.
시그니처는 다음과 같아요.
pub trait Extend<A> {
// 필수 메서드
fn extend<T>(&mut self, iter: T)
where T: IntoIterator<Item = A>;
// 제공되는 메서드
fn extend_one(&mut self, item: A) { ... }
fn extend_reserve(&mut self, additional: usize) { ... }
}
예시
기본 사용법:
// String을 몇몇 문자로 확장할 수 있다:
let mut message = String::from("The first three letters are: ");
message.extend(&['a', 'b', 'c']);
assert_eq!("abc", &message[29..32]);