在一个Rust项目中,我想根据一个整数种子生成reproducible个随机数,就像我在Java中习惯的那样.
rand
个 crate 中Seed
个的文件说明:
种子类型,它仅限于可作为u8数组进行可变解引用的类型(我们建议[u8;N]用于某些N).
这是否意味着整数种子是不可能的?如果可能的话,我如何使用StdRng
和整数种子?
在一个Rust项目中,我想根据一个整数种子生成reproducible个随机数,就像我在Java中习惯的那样.
rand
个 crate 中Seed
个的文件说明:
种子类型,它仅限于可作为u8数组进行可变解引用的类型(我们建议[u8;N]用于某些N).
这是否意味着整数种子是不可能的?如果可能的话,我如何使用StdRng
和整数种子?
查看此功能:StdRng::seed_from_u64
它来自于StdRng
实现的SeedableRng
trait .
例如:
let mut r = StdRng::seed_from_u64(42);
请注意,只要您在同一平台上使用相同的构建,这将为您提供可复制的随机数,但不保证StdRng
的内部实现在平台和库的版本之间保持不变!如果平台和构建之间的再现性对你来说很重要,那么看看rand_chacha
、rand_pcg
、rand_xoshiro
等 crate .