TODO

Step 14

实现 search_case_insensitive 函数



查看提示

类似于 search 函数, 但在合适的地方添加 .to_lowercase(), 使程序实现大小写不敏感的搜索

(由于 .to_lowercase() 输出的是 String, contains 里面的 query 要使用 & 变成 &str 才符合 contains 的签名)



Step 14 answer

pub fn search_case_insensitive<'a>(query: &str, contents: &'a str) -> Vec<&'a str> {
    let query = query.to_lowercase();
    let mut results = Vec::new();

    for line in contents.lines() {
        if line.to_lowercase().contains(&query) {
            results.push(line);
        }
    }

    results
}

现在运行 cargo test,所有测试都能通过