2 个不稳定版本
0.2.0 | 2023 年 12 月 30 日 |
---|---|
0.1.0 | 2023 年 12 月 25 日 |
#408 在 无标准库
7KB
条件赋值
这是一个非常简单、小巧的 crate,旨在使条件赋值更加便捷。
目标
目标是使以下内容看起来更好。
let condition = 0 < 1;
let outcome = if condition {
"true"
} else {
"false"
};
示例
基本
急切
use conditional_assignment::Pick;
let condition = 0 < 1;
let outcome = condition.pick("true", "false");
惰性
use conditional_assignment::Pick;
let condition = 0 < 1;
let outcome = condition.pick_lazy(
|| {
// This won't be evaluated and
// panic when condition is false.
assert!(condition);
"true"
},
|| {
// This won't be evaluated and
// panic when condition is true.
assert!(!condition);
"false"
},
);
最低支持的 Rust 版本 (MSRV)
根据 cargo-msrv,MSRV 是 1.56.1
。鉴于这个 crate 非常简单,MSRV 可能更低,但我没有检查。试试看!
许可证
根据您的选择,许可如下:
- Apache 许可证 2.0 版本,(LICENSE-APACHE 或 http://www.apache.org/licenses/LICENSE-2.0)
- MIT 许可证 (LICENSE-MIT 或 http://opensource.org/licenses/MIT)
。
贡献
除非您明确说明,否则根据 Apache-2.0 许可证定义的,您有意提交的任何贡献,都应作为上述双重许可,不得附加任何额外条款或条件。