2015-05-29 7 views
5

जंग के प्रलेखन के माध्यम से देख रहे हैं के लिए एक इटरेटर पुश, मैं केवल निम्नलिखित विधिएक सदिश (या किसी भी संग्रह)

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

पहले से मौजूद Vec को एक से अधिक मान पुश करने के लिए देखा था। हालांकि, अगर मेरे पास एक इटरेटर है, तो मुझे लगता है कि यह उपयोग करने में सक्षम नहीं है: vector.push_all(it.collect().as_ref())। क्या इसे बनाने का कोई तरीका है?

उत्तर

8

आप Vec के extend method का उपयोग कर सकते हैं। extend किसी भी प्रकार का मान लेता है जो IntoIterator लागू करता है (जिसमें सभी इटरेटर प्रकार शामिल हैं) और इटरेटर से लौटाए गए सभी तत्वों द्वारा Vec बढ़ाता है।

extendExtend विशेषता से संबंधित है, यह कई अन्य संग्रह प्रकारों के लिए भी काम करता है।

संबंधित मुद्दे