< 返回版块

FreeWong 发表于 2019-10-13 11:26

fn main(){

  let x:u32=(0..=9).map(|x|x*x).take_while(|&x|x<1000).filter(|&x| x % 2==1).fold(0, |sum, i| sum + i);
  println!("{}",x);

}

书中的例子,filter 函数返回 std::iter::Filter(https://doc.rust-lang.org/std/iter/struct.Filter.html),根据前面括号中的链接,在返回值 struct std::iter::Filter 上,根本找不到 fold 函数,但是却可以正常运行,这是什么原因啊。。

感谢。


Ext Link: https://doc.rust-lang.org/std/iter/struct.Filter.html

评论区

写评论
Ryan-Git 2019-10-13 11:42

iterator 实现的

1 共 1 条评论, 1 页