Rust 中的 tap() 等价物是什么?
它像
map()
一样对迭代器中的每个项目调用一个函数,但 tap()
不传递函数返回的值,而是返回原始项目。
例如,我想在流中以某种方式调用
println!()
:
foo.into_iter()
.filter(|x| x == target)
.tap(|x| println!("{:?}", x)) // <-- what goes here?
.map(|c| c.result)
这在
Iterator
上为 .inspect()
:
foo.into_iter()
.filter(|x| x == target)
.inspect(|x| println!("{:?}", x))
.map(|c| c.result)