Jay*_*Jay 8 functional-programming rust
Rust 中的tap()等价物是什么?
它对迭代器中的每个项目调用一个函数map(),但不是传递函数返回的值,而是tap()返回原始项目。
例如,我想以println!()某种方式在流中调用:
foo.into_iter()
.filter(|x| x == target)
.tap(|x| println!("{:?}", x)) // <-- what goes here?
.map(|c| c.result)
Run Code Online (Sandbox Code Playgroud)
更正:
tap()在整个迭代器上调用一次闭包
inspect()在迭代器中的每个项目上调用闭包
kmd*_*eko 14
这是这样Iterator的.inspect():
foo.into_iter()
.filter(|x| x == target)
.inspect(|x| println!("{:?}", x))
.map(|c| c.result)
Run Code Online (Sandbox Code Playgroud)