小编jdn*_*njd的帖子

过滤Vec <String>时无法移出借用的内容

我正在尝试实现一个函数,以将包含模式的所有字符串的向量从(Vec<String>)返回到另一个Vec<String>

这是我尝试的:

fn select_lines(pattern: &String, lines: &Vec<String>) -> Vec<String> {
    let mut selected_lines: Vec<String> = Vec::new();

    for line in *lines {
        if line.contains(pattern) {
            selected_lines.push(line);
        }
    }

    selected_lines
}
Run Code Online (Sandbox Code Playgroud)

导致在for循环的行上出现错误(*行)。我是Rust的新手(昨天开始学习Rust!),现在对解决该错误几乎一无所知。

我可以删除,*并且该错误消失了,但是有关类型不匹配的错误开始达到高潮。我想保持功能的签名完整。有办法吗?

types pointers lifetime dereference rust

2
推荐指数
1
解决办法
598
查看次数

标签 统计

dereference ×1

lifetime ×1

pointers ×1

rust ×1

types ×1