2015-05-29 10 views
5

Patrząc poprzez dokumentacji Rust, widziałem jedynie następujące metodypush iterator do wektora (lub dowolnej kolekcji)

fn push_all(&mut self, other: &[T]) 

pchnąć wiele wartości do już istniejącego Vec. Jednak jeśli mam iterator, myślę, że nie jest efektywny w użyciu: vector.push_all(it.collect().as_ref()). Czy istnieje sposób, aby przejść przez to?

Odpowiedz

8

Możesz użyć Vec 's extend method. extend przyjmuje wartość dowolnego typu, która implementuje IntoIterator (która zawiera wszystkie typy iteratorów) i rozszerza Vec o wszystkie elementy zwrócone z iteratora.

Od extend należy do cechy Extend, działa również dla wielu innych typów kolekcji.

Powiązane problemy