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]);

더 알아보기 (Learn more)

Rust 공식 문서