如何检查事物是否在矢量中?
let n= vec!["-i","mmmm"];
if "-i" in n {
println!("yes");
} else {
println!("no");
我猜想我需要将其放入循环中,然后执行if "-i" in x
,其中x
是迭代变量。但是我希望有一个方便的方法,或者我混淆了语法,并且有类似的方法可以做到这一点。
答案 0 :(得分:5)
contains
上有一种Vec
(https://doc.rust-lang.org/std/vec/struct.Vec.html#method.contains)方法。
示例:
let n = vec!["-i","mmmm"];
if n.contains(&"-i") {
println!("yes");
} else {
println!("no");
}
它有点restrictive,例如,如果Vec<String>
的类型为x
,则不允许检查x
是否包含&str
。在这种情况下,您将必须使用@harmic
.iter().any(...)
方法
答案 1 :(得分:4)