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 模式
28,662 每月下载量
用于 35 个 包(8 个直接使用)
30KB
424 行
随机数
快速生成随机数。
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
文档
许可证
依赖项
~0.5–1MB
~22K SLoC