< 返回版块

hanyuwei70 发表于 2017-12-29 16:54

代码逻辑

let results:Vec<String>=Vec::new();
for x in reader.lines(){
    let line = x?;
    let tmp=vec![line.clone()]; //problem?
    validate(&tmp);
    results.push(line);
}

函数签名 validate(&Vec<String>) 请问怎么样才能不用 clone 一次 line?

评论区

写评论
黑腹神喵 2017-12-29 17:03
fn validate(v: &[String]) {
}

fn validate(v: &[&str]) {
}

调用的地方

validate(&reader.lines()[..])
黑腹神喵 2017-12-29 17:02
fn validate(v: &[String]) {
}

fn validate(v: &[&str]) {
}
CrLF0710 2017-12-29 17:00

let results = reader.lines().filter(|x| x.is_ok()).map(|x| x.unwrap()).filter(|x| x.validate()).map(|x| x.to_owned()).collect::<Vec>();

1 共 3 条评论, 1 页