#no-std #map-if #do-if #filter-if

no-std apply_if

条件性地将闭包应用于项或返回它

2 个稳定版本

使用旧的 Rust 2015

1.1.0 2024 年 7 月 23 日
1.0.0 2023 年 12 月 18 日

#654开发工具

Download history 18/week @ 2024-07-02 8/week @ 2024-07-09 132/week @ 2024-07-23 10/week @ 2024-07-30

168 每月下载量

MIT/Apache

7KB
112 代码行

ApplyIf

CI

ApplyIf 提供了一个带有两个方法的特质: apply_if(cond, closure)apply_if_mut(cond, closure)。如果 cond 为真,这些方法将应用给定的闭包到实例上,否则返回原始实例(或者在 apply_if_mut 的情况下返回引用)。

对于希望保留优美的 .builder1().builder2() 链,而不是通过 if-else 块中断它的不可变和可变构建器模式,非常有用。

为所有类型提供了一个泛型实现,其中 apply_if 只对有大小类型进行了实现。


lib.rs:

ApplyIf

ApplyIf 提供了一个带有单个方法的特质: apply_if(cond, closure),如果条件为真,则将闭包应用于对象,否则返回原始对象。当您想要保留优美的 .builder1().builder2() 链,而不是通过 if-else 块中断它时,对于构建器模式非常有用。它适用于不可变构建器模式和可变构建器模式。

为所有类型提供了泛型实现

没有运行时依赖