global-variables - 如何定义全局随机数生成器?

标签 global-variables rust static-variables

我都试过了

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/

相关文章:

java - 类完成后静态变量变为 null

Vue 中 CSS 变量的使用

android - 如何在Android中声明全局变量?

rust - vector 的所有权转移会改变它在 Rust 中的内存位置吗?

generics - 在结构中存储通用闭包

json - 从 JSON 数组中选择键的子集

c++ - 通过对循环函数的引用传递变量

c++ - 错误 : ‘SIZE’ cannot appear in a constant-expression when using template< class T, int MAX_SIZE >

c - 未定义的全局变量引用

javascript - 使用 jQuery.getScript() 赋值后全局变量未定义