#bounds #numbers #range #anything #ord #traits #automatic

num_bound

为实现了 Ord 的任何东西添加 bounds fn,以将数字限制在范围内

4 个版本 (1 个稳定版本)

1.0.0 2024 年 5 月 18 日
0.1.2 2022 年 5 月 18 日
0.1.1 2022 年 5 月 17 日
0.1.0 2022 年 5 月 17 日

Rust 模式 中排名第 691

Download history 208/week @ 2024-05-18 20/week @ 2024-05-25 8/week @ 2024-06-08 46/week @ 2024-06-15 17/week @ 2024-06-22 5/week @ 2024-06-29

每月下载量 208

自定义许可证

7KB

num_bound

添加限制函数的特质,允许将数字限制在范围内。

自动应用于实现了 std 特质 Ord 的任何东西。

V1 破坏性变更

移除了仅操作引用的要求。

之前这是可行的

let number = 19;
let upper = 60;
let low = 10;

assert_eq!(number.bound(&low, &upper), &number);

现在,限制方法不将 self 作为引用,因此等效的现在是: assert_eq!(number.as_ref().bound(&low, &upper), &number); 但是,除非传递引用是首选,否则复制应该足够: assert_eq!(number.bound(low, upper), number); 仅在类型大于引用时使用引用。

用法

bound(self,lower: Self,upper: Self) -> Self


use num_bound::Bound;

#[test]
fn bound_test()
{
    let lower = 200;
    let upper = 500;

    let out_lower = 100;
    let out_upper = 600;
    let in_bounds = 300;
    
    assert_eq!(out_lower.bound(l, u), lower);
    assert_eq!(out_upper.bound(l, u), upper);
    assert_eq!(in_bounds.bound(l, u), in_bounds);
}

无运行时依赖