我一直在尝试Rust by Example的书籍代码,但被https://doc.rust-lang.org/stable/rust-by-example/fn/closures/closure_examples/iter_any.html绊倒了>
error[E0308]: mismatched types --> Function.rs:81:95 81 | fn any < F > ( & mut self , mut f: F ) -> bool where F: FnMut ( Self::Item ) -> bool {} | ^^ expected bool, found ()
我正在使用的完整代码段是:
fn closure_iterator_any ( v1a: i32 , v1b: i32 , v1c: i32 , v2a: i32 , v2b: i32 , v2c: i32 ) { pub trait Iterator { type Item ; // type of item being iterated over fn any < F > ( & mut self , mut f: F ) -> bool where F: FnMut ( Self::Item ) -> bool {} } let vec1 = vec! [ v1a , v1b , v1c ] ; let vec2 = vec! [ v2a , v2b , v2c ] ; println! ( "2 in vector 1: {}" , vec1 . iter () . any ( |&x| x == 2 ) ) ; // iter returns &i32 println! ( "2 in vector 2: {}" , vec2 . into_iter () . any ( |x| x == 2 ) ) ; // into returns i32 let array1 = [ v1a , v1b , v1c ] ; let array2 = [ v2a , v2b , v2c ] ; println! ( "2 in array 1: {}" , array1 . iter () . any ( |&x| x == 2 ) ) ; println! ( "2 in array 2: {}" , array2 . into_iter () . any ( |&x| x == 2 ) ) ; }
我知道有过多的空格,当学习一种新语言时,我想知道我可以在哪里放置空间,而我不能在哪里放置空间。我也不太了解闭包。
[我一直在尝试Rust by Example的书籍代码,但在https://doc.rust-lang.org/stable/rust-by-example/fn/closures/closure_examples/iter_any.html错误时陷入困境[E0308 ]:类型不匹配-> ...
在示例中,具有特征的部分,