如何修复代码行:if v.iter().any(|i| *i == s) {
匹配时获取向量索引,例如: Yes -> 1
。
fn main() {
let v: Vec<&str> = vec!["abc", "des", "xyz", "qwe"];
for (ind, val) in v.iter().enumerate() {
println!("{} - {}", ind, val);
}
let s: &str = "des";
if v.iter().any(|i| *i == s) {
println!("Yes");
// println!("Yes -> {:?}", index_of_v); // Yes -> 1
} else {
println!("No");
}
}
不要使用 iter().any(),而要使用 iter().position(),它返回索引。