Programing

문자열 벡터에 대한 조인 연산자에 해당하는 것은 무엇입니까?

lottogame 2020. 10. 17. 08:59
반응형

문자열 벡터에 대한 조인 연산자에 해당하는 것은 무엇입니까?


Strings 의 벡터를 통해 "join"연산자에 해당하는 Rust를 찾을 수 없었습니다 . 나는 하나가 있고 Vec<String>그들과 함께하고 싶습니다 String:

let string_list = vec!["Foo".to_string(),"Bar".to_string()];
let joined = something::join(string_list,"-");
assert_eq!("Foo-Bar", joined);

관련 :


Rust 1.3.0 이상에서는 다음을 SliceConcatExt::join사용할 수 있습니다.

fn main() {
    let string_list = vec!["Foo".to_string(),"Bar".to_string()];
    let joined = string_list.join("-");
    assert_eq!("Foo-Bar", joined);
}

1.3.0 이전에는 다음을 사용할 수 있습니다 SliceConcatExt::connect.

let joined = string_list.connect("-");

표준 라이브러리 서곡 에서 메서드를 자동으로 가져 오므로 가져 오기가 필요하지 않습니다 .


Wilfred SliceConcatExt::connect언급했듯이 버전 1.3.0부터 다음을 위해 사용되지 않습니다 SliceConcatExt::join.

let joined = string_list.join("-");

이터레이터를 결합하는 itertools호출 상자 의 함수가 있습니다 join.

extern crate itertools; // 0.7.8

use itertools::free::join;
use std::fmt;

pub struct MyScores {
    scores: Vec<i16>,
}

impl fmt::Display for MyScores {
    fn fmt(&self, fmt: &mut fmt::Formatter) -> fmt::Result {
        fmt.write_str("MyScores(")?;
        fmt.write_str(&join(&self.scores[..], &","))?;
        fmt.write_str(")")?;
        Ok(())
    }
}

fn main() {
    let my_scores = MyScores {
        scores: vec![12, 23, 34, 45],
    };
    println!("{}", my_scores); // outputs MyScores(12,23,34,45)
}

참고URL : https://stackoverflow.com/questions/28311868/what-is-the-equivalent-of-the-join-operator-over-a-vector-of-strings

반응형