Rust中tap()的等价物是什么?
它对迭代器中的每个项调用一个函数,如map()
,但不是传递函数返回的值,tap()
返回原始项。
例如,我想以某种方式在我的流中间调用println!()
:
foo.into_iter()
.filter(|x| x == target)
.tap(|x| println!("{:?}", x)) // <-- what goes here?
.map(|c| c.result)
字符串
更正:tap()
在整个迭代器上调用闭包一次inspect()
调用迭代器中每个项的闭包
2条答案
按热度按时间qco9c6ql1#
在
Iterator
上的.inspect()
:字符串
eoxn13cs2#
你描述的不是
tap
,而是inspect
,正如@kmdreko指出的那样。一个通用的tap(以及一个通用的管道-通用的map
,你可以将其签名表示为a -> (a -> b) -> b
)由第三方tap库实现。