9 个版本

0.1.8 2022年11月3日
0.1.7 2022年3月18日
0.1.6 2021年4月22日
0.1.4 2021年3月11日
0.1.2 2020年6月27日

#697 in Rust 模式

Download history 6648/week @ 2024-04-23 5057/week @ 2024-04-30 7289/week @ 2024-05-07 6599/week @ 2024-05-14 6572/week @ 2024-05-21 7065/week @ 2024-05-28 6378/week @ 2024-06-04 6314/week @ 2024-06-11 6157/week @ 2024-06-18 7445/week @ 2024-06-25 6981/week @ 2024-07-02 8692/week @ 2024-07-09 7062/week @ 2024-07-16 6893/week @ 2024-07-23 7168/week @ 2024-07-30 6396/week @ 2024-08-06

28,662 每月下载量
用于 35 包(8 个直接使用)

MIT 许可证

30KB
424

随机数

CI

快速生成随机数。

random!

use random_number::random;

let n: u8 = random!();
println!("{}", n); // 0 ~ 255

let n: f64 = random!();
println!("{}", n); // 0.0 ~ 1.0

let n: u8 = random!(..=10);
println!("{}", n); // 0 ~ 10

let n: u8 = random!(..=9);
println!("{}", n); // 0 ~ 9

let n: u8 = random!(10..);
println!("{}", n); // 10 ~ 255

let n: i8 = random!(-2..=12);
println!("{}", n); // -2 ~ 12

let n: u8 = random!(12, 20);
println!("{}", n); // 12 ~ 20

let n: u8 = random!(20, 12);
println!("{}", n); // 12 ~ 20

可以通过将随机数生成器作为最后一个参数添加到 random! 宏中来重用随机数生成器。

use random_number::random;

let mut rng = random_number::rand::thread_rng();

let n: u8 = random!(rng);
println!("{}", n); // 0 ~ 255

let n: u8 = random!(..=10, rng);
println!("{}", n); // 0 ~ 10

let n: u8 = random!(20, 12, rng);
println!("{}", n); // 12 ~ 20

random_ranged 函数

如果 范围 不是字面量,例如,一个变量,var_range,存储一个实现 RangeBounds 特性的实例,则 var_range 变量不能在 random! 宏中使用。

let var_range = 1..=10;

let n: u8 = random_number::random!(var_range); // compile error

在这种情况下,请使用 random_ranged 函数。

let var_range = 1..=10;

let n: u8 = random_number::random_ranged(var_range);
println!("{}", n); // 1 ~ 10

random_fill!

可以使用 random_fill! 宏用随机数填充切片。用法类似于 random! 宏。只需在使用 random_fill! 宏时添加一个切片作为第一个参数。

let mut a = [0i8; 32];
random_number::random_fill!(a, -2..=12);

println!("{:?}", a);

random_fill_ranged 函数

let var_range = 1..=10;

let mut a = [0u8; 32];
random_number::random_fill_ranged(&mut a, var_range);

println!("{:?}", a);

Cargo.io

https://crates.io/crates/random-number

文档

https://docs.rs/random-number

许可证

MIT

依赖项

~0.5–1MB
~22K SLoC