#integer #numeric #type #step #stepping #unit #numbers

已删除 步骤

允许对数值类型进行步进的特质

使用旧 Rust 2015

0.2.0 2017年2月16日
0.1.0 2017年2月12日

#182 in #unit


ranged_set 中使用

MIT/Apache

4KB

步进

Build Status Crate on crates.io

step 是一个提供 Step 特质的包,允许对数值类型进行单位步进和任意步进。

文档可以在 docs.rs 上找到。

使用 step

将此包添加到 Cargo.toml 的依赖部分

[dependencies]
step = { git = "https://github.com/ryanq/step" }

然后导入包并在源代码中输入

extern crate step;

use step::Step;

然后您可以使用用于增加和减少数字的函数,或者在自己的类型上实现它

let number = 42;

assert_eq!(number.next(), 43);
assert_eq!(number.next_by(&3), 45);
assert_eq!(number.prev(), 41);
assert_eq!(number.prev_by(&3), 39);
struct Foo {
    bar: i32,
}

impl Step for Foo {
    fn next(&self) -> Self { Foo { bar: self.bar + 1 } }
    fn next_by(&self, by: &Self) -> Self { Foo { bar: self.bar + *by } }
    fn prev(&self) -> Self { Foo { bar: self.bar - 1 } }
    fn prev_by(&self, by: &Self) -> Self { Foo { bar: self.bar - *by } }
}

无运行时依赖