【发布时间】:2011-04-12 15:07:12
【问题描述】:
我只是好奇,但是 Ruby 是否有一个专门用于生成随机数的类,比如 Java 的 java.util.Random 类,或者是 Ruby 的所有 rand 方法?
【问题讨论】:
我只是好奇,但是 Ruby 是否有一个专门用于生成随机数的类,比如 Java 的 java.util.Random 类,或者是 Ruby 的所有 rand 方法?
【问题讨论】:
内核中有一个rand方法:)
rand(max=0) => number
Converts max to an integer using max1 = max.to_i.abs. If the result is zero, returns a pseudorandom floating point number greater than or equal to 0.0 and less than 1.0. Otherwise, returns a pseudorandom integer greater than or equal to zero and less than max1. Kernel::srand may be used to ensure repeatable sequences of random numbers between different runs of the program. Ruby currently uses a modified Mersenne Twister with a period of 2**19937-1.
srand 1234 #=> 0
[ rand, rand ] #=> [0.191519450163469, 0.49766366626136]
[ rand(10), rand(1000) ] #=> [6, 817]
srand 1234 #=> 1234
[ rand, rand ] #=> [0.191519450163469, 0.49766366626136]
【讨论】: