接受闭包并为其提供时域访问的方法的常规名称是什么?

问题描述

我有一个Rust结构,可以这样简化:

struct Struct {
    field: String // the type doesn't matter
}
impl Struct {
    pub fn method<F,R>(&self,closure: F) -> R
    where
        F: FnOnce(&String) -> R
    {
        closure(&self.field)
    }
}

Struct::method是否有任何常规名称(在类似情况下用于Rust Book或标准库中)?

预期为applyvisit吗?

解决方法

如果只有这样一种方法,并且它接收到的数据是Struct的中心,那么我可以这样做:

  • map(),如果它消耗/转换Struct并返回新的Struct,如Option::map()
  • with()(如果它收到对数据的共享引用,例如LocalKey::with()
  • with_mut()(如果函数收到对数据的唯一/可变引用)。 (我对此没有很好的参考,但这是with()的逻辑扩展,并且与容器上的iter()iter_mut()一致。)

如果有多种这样的方法,或者操作的Struct数据的子集不明显,我将调用添加字段名,如with_field()或{{1} }。

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...