我在生锈生态系统中遇到了fuse这个词:
slog::Fuse将错误提升为恐慌。FutureExt::Fuse“融合了未来,这样的投票一旦完成,就再也不会被称为”。我知道Linux的FUSE,一个用户空间文件系统。保险丝也是当过多的电流通过保险丝时进入开路状态的电气元件。在硬件中,“熔断”描述通过(历史上)通过硅的特定导线中的过电流吹入硅中的烘焙配置。
在锈病中“融合”通常意味着什么?它的词源是什么?
发布于 2021-12-13 18:47:25
在锈菌生态系统中,我能找到的最早使用的“保险丝”是Iterator::fuse,在1.0天前的被添加到标准库中。。Iterator::fuse的初始文档显示:
/// Creates an iterator that yields `None` forever after the underlying
/// iterator yields `None`. Random-access iterator behavior is not
/// affected, only single and double-ended iterator behavior.在返回的迭代器上也有一个函数,该函数已被删除:
impl<T> Fuse<T> {
/// Resets the fuse such that the next call to .next() or .next_back() will
/// call the underlying iterator again even if it prevously returned None.
#[inline]
fn reset_fuse(&mut self) {
self.done = false
}
}这表明Fuse是a resettable electric fuse的类比。名称与FUSE文件系统完全无关。
FutureExt::Fuse基本上是与Iterator::Fuse等价的Future。在Rust中对Future的支持远远落后于对Iterator的支持。
这里的常见线程是,fuse函数将作为“生成事物的东西,并可以停止”,并使其在停止后不会产生任何东西。
slog::Fuse不是“fuse”这个词的典型用法:这种用法可能是指容易点燃的炸弹引信(它使错误很容易点燃/惊吓程序)。如果你把它看作是“一个事物产生了一系列的成功/失败,而fuse接受了一个失败并使它在失败之后不再产生任何东西”,你可以将它与我先前的定义相结合。The commit that added it没有提供任何关于其含义的提示。
https://stackoverflow.com/questions/70339163
复制相似问题