13 个版本
0.1.13 | 2024年7月27日 |
---|---|
0.1.12 | 2024年2月24日 |
0.1.9 | 2023年9月12日 |
0.1.5 | 2023年4月1日 |
0.1.4 | 2023年3月30日 |
468 在 算法 中排名
每月下载量:293
20KB
446 行
lazyrand for Rust
这是一个用于轻松生成随机数的库。随机种子会自动初始化。此包支持WASM。
可用于游戏和骰子等各种用途。但是,此库不是加密安全的。
它使用 xoshiro256++ 进行随机数生成。
安装
在您的终端中运行以下命令
cargo add lazyrand
示例
生成随机数
let num = lazyrand::randint(1, 6);
println!("random number = {}", num);
使用种子生成随机数。它可以用来生成相同的随机数序列。
lazyrand::set_seed(123456);
let n1 = lazyrand::rand() % 6 + 1;
let n2 = lazyrand::rand() % 6 + 1;
let n3 = lazyrand::rand() % 6 + 1;
println!("nums = [{}, {}, {}]", n1, n2, n3);
示例 - 切片
打乱切片
let mut a = vec![1, 2, 3, 4, 5];
lazyrand::shuffle(&mut a);
println!("shuffled = {:?}", a); // (ex) shuffled = [2, 4, 1, 5, 3]
从切片中选择一个数字
let a = vec![1, 2, 3];
let n = lazyrand::choice(&a);
println!("choice = {:?}", n); // (ex) choice = Some(5)
从切片中选择一个 &str
let mut a = vec!["apple", "banana", "orange"];
let s = lazyrand::choice(&a).unwrap();
println!("choice = {}", s); // (ex) choice = orange
使用 Random 结构的示例
使用 Random 结构生成随机数
use lazyrand::Random;
fn main() {
// Create Random generator
let mut random = Random::new();
println!("random number = {}", random.randint(1, 6));
let msg: &str = random.choice(&["hello", "hi", "bye"]).unwrap();
println!("random message = {}", msg);
}
如何在 WASM 中使用 Lazyrand
请参阅 test_wasm。
方法
- set_seed(seed) / srand(seed) / generate_seed()
- randint(min, max)
- shuffle(&mut slice)
- choice(&slice)
- rand() / rand_bool() / rand_usize() / rand_isize() / rand_f64()
依赖关系
~25–260KB