Несмотря на то, что вы могли бы создать цикл, более простым способом было бы использовать метод any
на итераторе для вашего вектора.
any
принимает замыкание, которое возвращает trueили ложьЗакрытие вызывается для каждого из элементов по очереди, пока не найдет тот, который возвращает true. Обратите внимание, что итератор возвращает ссылки на значения (таким образом, &
в |&i|
).
let n= vec!["-i","mmmm"];
if n.iter().any(|&i| i=="-i") {
println!("Yes");
}
Поскольку any
работает на итераторах, его можно использовать с любым типом контейнера. На итераторах доступно большое количество похожих методов, таких как all
, find
и т. Д. См. Документацию стандартной библиотеки для Iterators
.