铁 rust 相当于tap()是多少?

它对迭代器中的每个项调用一个函数,如map(),但tap()返回的不是函数返回的值,而是原始项.

例如,我想以某种方式在中途拨打println!():

foo.into_iter()
  .filter(|x| x == target)
  .tap(|x| println!("{:?}", x)) // <-- what goes here?
  .map(|c| c.result)

更正:

tap() calls the closure once on the entire iterator
inspect() calls the closure on each item in the iterator

推荐答案

这是Iterator AS .inspect():

foo.into_iter()
  .filter(|x| x == target)
  .inspect(|x| println!("{:?}", x))
  .map(|c| c.result)

Rust相关问答推荐

什么是谓词的简短和简洁类型

MacOS(AARCH64)上Ghidra中的二进制补丁导致进程终止

如何修复数组中NewType导致的运行时开销

JSON5中的变量类型(serde)

AXUM一路由多个不包括URL的参数类型

如何修复&q;无法返回引用函数参数的值在异步规则中返回引用当前函数&q;拥有的数据的值?

如何使用Actix Web for Rust高效地为大文件服务

Rust编译器似乎被结果类型与anyhow混淆

如何将一个矩阵的列分配给另一个矩阵,纳尔代数?

如何在 Rust 中将枚举变体转换为 u8?

Rust 中的方法调用有什么区别?

仅在运行测试时生成调试输出

Rust 中函数的类型同义词

有没有办法隐藏类型定义?

如何创建动态创建值并向它们返回borrow 的工厂?

为什么 Rust 标准库同时为 Thing 和 &Thing 实现特征?

在传输不可复制的值时实现就地枚举修改

当值是新类型包装器时,对键的奇怪 HashMap 生命周期要求

返回 &str 但不是 String 时,borrow 时间比预期长

将 reqwest bytes_stream 复制到 tokio 文件中