Ruby有一个随机数生成器类吗?

时间:2010-09-15 10:58:13

标签: ruby random

  

可能重复:
  How to get a random number in Ruby?

我只是好奇但Ruby有一个专门生成随机数的类,比如Java的java.util.Random类,还是Ruby所有的rand方法?

2 个答案:

答案 0 :(得分:2)

内核中有一个rand方法:)

API Docs

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]

答案 1 :(得分:1)

有一个“随机”类

How to get a random number in Ruby

上查看问题
10.times.map{ Random.new.rand(20..30) } 
#=> [26, 26, 22, 20, 30, 26, 23, 23, 25, 22]