Ruby如何使用

Ruby如何使用,ruby,random,Ruby,Random,例如,当使用rand(10)时,ruby如何生成随机数?我对随机数生成技术知之甚少,所以我想更好地了解它们。Ruby是。我将演示如何定位PRNG(伪随机数生成器)代码,因为使用确定性CPU无法生成真正的随机数 查看存储库,我们看到了一个。从内部看,它是C语言的,但没关系,它有注释。第一个函数是genrand_real,调用genrand_int32,它接受一个结构MT。该函数在中定义,查看该文件时,它使用逐位操作获取随机数生成器的下一个状态,并应用更多逐位运算符生成所需的数。Ruby是。我将演示

例如,当使用rand(10)时,ruby如何生成随机数?我对随机数生成技术知之甚少,所以我想更好地了解它们。

Ruby是。我将演示如何定位PRNG(伪随机数生成器)代码,因为使用确定性CPU无法生成真正的随机数

查看存储库,我们看到了一个。从内部看,它是C语言的,但没关系,它有注释。第一个函数是genrand_real,调用genrand_int32,它接受一个结构MT。该函数在中定义,查看该文件时,它使用逐位操作获取随机数生成器的下一个状态,并应用更多逐位运算符生成所需的数。

Ruby是。我将演示如何定位PRNG(伪随机数生成器)代码,因为使用确定性CPU无法生成真正的随机数


查看存储库,我们看到了一个。从内部看,它是C语言的,但没关系,它有注释。第一个函数是genrand_real,调用genrand_int32,它接受一个结构MT。这个函数在中定义,查看该文件,它使用逐位运算来获取随机数生成器的下一个状态,并应用更多的逐位运算符来生成所需的数。

你的问题是,“伪随机数是如何生成的?只有熟悉使用的各种算法的人才会想知道它在Ruby中是如何实现的;也就是说,Ruby使用哪种算法。因此,您的问题与Ruby无关,因此应该结束(我已经投票决定这样做)。此外,您的问题实际上并不适合任何Stack Exchange用户组。你的第一步显然是做一些基础研究。试着在谷歌上搜索“伪随机数生成器”。你的问题实际上是,“伪随机数是如何生成的?只有熟悉各种算法的人才会想知道它在Ruby中是如何实现的;也就是说,Ruby使用哪种算法。因此,你的问题与Ruby无关,因此应该关闭(我投票赞成这样做)。此外,你的问题并不适合任何Stack Exchange用户组。你的第一步显然是做一些基础研究。试试谷歌搜索“伪随机数生成器”"。请注意,这只是众多Ruby实现中的一种。不能保证Rubinius、JRuby、IronRuby、Opal、MRuby、MagLev……将具有相同的实现。事实上,JRuby、IronRuby、MagLev和Opal的实现很可能都不是用同一种语言实现的。此外,还有一些Ruby的封闭源代码实现,例如。MacRuby、RubyMoon、BlueRuby。大多数最终都是基于cRuby的。请注意,这只是众多Ruby实现中的一种。不能保证Rubinius、JRuby、IronRuby、Opal、MRuby、MagLev……会有相同的实现。事实上,JRuby、IronRuby、MagLev和Opal的实现很可能都不会出现在同样的语言。此外,还有一些Ruby的封闭源代码实现,例如MacRuby、RubyMoon、BlueRuby。最终大部分都基于cRuby。