以下是我的一些代码:
fn my_func(i: i32) -> Result<i32, String> {
match i {
42 => Ok(113),
_ => Err("Can only use 42".to_string())
}
}
fn main() {
let myvec = [1, 2, 42];
if myvec.iter().any(|i| my_func(*i).is_ok()) {
println!("something was ok");
} else {
println!("nothing was ok");
}
}
我想打印哪个元素是好的,而不是println!("something was ok");
.
但是如果我赋值给一个any
以内的变量,那么它在println!
语句中是不可见的.
在本例中,所需的输出将为:
something was ok: 42