1 个不稳定版本
0.1.0 | 2023 年 9 月 14 日 |
---|
#2429 in Rust 模式
9KB
79 行
CheckedClamp
checked_clamp 提供了一种方法,尝试将实现了 PartialOrd 的任何类型限制在最小值和最大值之间,如果值或限制无效,则返回错误。
示例
use checked_clamp::{CheckedClamp, CheckedClampError as E};
assert_eq!(10.0.checked_clamp(0.0, 1.0), Ok(1.0));
assert_eq!(10.0.checked_clamp(1.0, 0.0), Err(E::MinGreaterThanMax));
assert_eq!(f32::NAN.checked_clamp(0.0, 10.0), Err(E::ComparisonFailed));
assert_eq!(0.0.checked_clamp(f32::NAN, 10.0), Err(E::ComparisonFailed));
assert_eq!("ABCD".checked_clamp("AAA", "ZZZ"), Ok("ABCD"));
贡献
除非你明确声明,否则根据 Apache-2.0 许可证定义,你提交的任何有意包含在作品中的贡献,将以下双许可,不附加任何额外条款或条件。
许可证
许可协议为以下之一
- Apache 许可证 2.0 版(LICENSE-APACHE 或 https://www.apache.org/licenses/LICENSE-2.0)
- MIT 协议(LICENSE-MIT 或 https://opensource.org/licenses/MIT)
任选其一。