1 个不稳定版本
0.1.0 | 2024 年 6 月 7 日 |
---|
#947 在 Rust 模式
4KB
warrant
类似于 Swift 中 guard
的担保宏。它在检查条件时有助于更好地表达代码逻辑,避免心理扭曲。
它实现了我所称的“过程性担保”。
用法
将 warrant = "0.1.0"
添加到您的 Cargo.toml
文件中。
之前
// if some condition is not satisfied, early return.
let condition = is_satisfied();
if ! condition {
return;
}
// proceed
之后
use warrant::warrant;
let condition = is_satisfied();
warrant!(condition, else {
return;
});
// proceed
warrant::warrant
也被别名为 warrant::guard
,如果您来自 Swift 并且更喜欢 guard
。
许可
其他参考资料
- 模式匹配担保:考虑直接使用
if-let-else
- "结构化担保":为了在结构体上强制执行条件,nutype 是一个好的选择。