接受闭包并为其提供时间字段访问的方法的常规名称是什么?
What is the conventional name for a method accepting a closure and providing temporal field access for it?
我有一个可以像这样简化的 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 或类似情况下的标准库中使用)?预计是 apply
, visit
..?
如果只有一种这样的方法并且它接收的数据是 Struct
的核心,我会选择:
map()
如果 consumes/transforms Struct
和 returns 一个新的 Struct
,如 Option::map()
with()
如果它收到对数据的共享引用,如 LocalKey::with()
with_mut()
如果函数收到对数据的 unique/mutable 引用。 (对于这个我没有很好的参考,但它是 with()
的逻辑扩展,并且与容器上的 iter()
和 iter_mut()
一致。)
如果有多个这样的方法,或者它操作的 Struct
数据的哪个子集不明显,我会调用添加字段名称,如 with_field()
或 with_mut_field()
.
我有一个可以像这样简化的 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 或类似情况下的标准库中使用)?预计是 apply
, visit
..?
如果只有一种这样的方法并且它接收的数据是 Struct
的核心,我会选择:
map()
如果 consumes/transformsStruct
和 returns 一个新的Struct
,如Option::map()
with()
如果它收到对数据的共享引用,如LocalKey::with()
with_mut()
如果函数收到对数据的 unique/mutable 引用。 (对于这个我没有很好的参考,但它是with()
的逻辑扩展,并且与容器上的iter()
和iter_mut()
一致。)
如果有多个这样的方法,或者它操作的 Struct
数据的哪个子集不明显,我会调用添加字段名称,如 with_field()
或 with_mut_field()
.