我都试过了
static mut rng:XorShiftRng = XorShiftRng::new_unseeded();
static mut rng:Rng + 'static = rand::weak_rng();
但两者都不起作用。这是一种方法吗?
编辑
我想制作一个模块,其中包含一些需要随机数的递归函数。我不希望用户提供随机数生成器,也不希望向用户提供结构。所以我希望有一个模块明智的 RNG。
最佳答案
使用rust 1.0
在 Rust 1.0 中,task_rng
被移动到 rand
crate 中,现在称为 thread_rng
.
原创
如果您只是想要一个免费的随机数生成器,我建议您查看 TaskRng :
Retrieve the lazily-initialized task-local random number generator, seeded by the system.
您始终可以将其中之一用作易于使用的 RNG。
顺便说一句:我一直发现能够为代码提供我自己的 RNG 很有用。当消费者不需要该功能时,使用默认值很好,但是重现特定随机数字符串的能力对于性能或功能测试等非常有用。
关于global-variables - 如何定义全局随机数生成器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27659610/