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 비트 유니 코드 스칼라 값 이기 때문에 더 직접적인 방법은 없으며 Rust의 문자열 u8
은 UTF-8 인코딩으로 텍스트를 나타내는 바이트 시퀀스 ( )입니다. char
s의 시퀀스에 직접 매핑되지 않습니다 .
답변
다음은 벡터를 사용하는 더 읽기 쉬운 버전입니다.
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)
}