Vec<char>स्ट्रिंग रूप में कैसे परिवर्तित करें ताकि मैं इसे प्रिंट कर सकूं?
Vec<char>स्ट्रिंग रूप में कैसे परिवर्तित करें ताकि मैं इसे प्रिंट कर सकूं?
जवाबों:
collect()एक पुनरावृत्ति पर उपयोग करें :
let v = vec!['a', 'b', 'c', 'd'];
let s: String = v.into_iter().collect();
println!("{}", s);
मूल वेक्टर का उपभोग किया जाएगा। यदि आपको इसे रखने की आवश्यकता है, तो उपयोग करें v.iter():
let s: String = v.iter().collect();
कोई और अधिक सीधा रास्ता नहीं charहै क्योंकि 32-बिट यूनिकोड स्केलर मूल्य है, और जंग में तार u8यूटीएफ -8 एन्कोडिंग में पाठ का प्रतिनिधित्व बाइट्स ( ) के अनुक्रम हैं । वे सीधे एस के दृश्यों के लिए मैप नहीं करते हैं char।
यहाँ एक अधिक पठनीय संस्करण है जो वेक्टर का उपभोग करता है:
use std::iter::FromIterator;
fn main() {
let v = vec!['a', 'b', 'c', 'd'];
let s = String::from_iter(v);
// vs
let s: String = v.into_iter().collect();
}
ध्यान दें कि collectएक कॉल के साथ लागू किया गया है FromIterator::from_iter:
fn collect<B: FromIterator<Self::Item>>(self) -> B
where
Self: Sized,
{
FromIterator::from_iter(self)
}