Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby 生成一个7位数的随机数_Ruby - Fatal编程技术网

Ruby 生成一个7位数的随机数

Ruby 生成一个7位数的随机数,ruby,Ruby,如何生成100万到1000万之间的随机数 rand(10)有效,我尝试了rand(1..10)但没有成功。取你的基数1000000,然后添加一个从0到最大起始数的随机数: 1_000_000 + Random.rand(10_000_000 - 1_000_000) #=> 3084592 这是一个实例方法: puts Random.new.rand(1_000_000..10_000_000-1) 这将生成一个介于1000000和9999999之间的随机数 rand(10_000

如何生成100万到1000万之间的随机数


rand(10)
有效,我尝试了
rand(1..10)
但没有成功。

取你的基数1000000,然后添加一个从0到最大起始数的随机数:

 1_000_000 + Random.rand(10_000_000 - 1_000_000) #=> 3084592

这是一个实例方法:

puts Random.new.rand(1_000_000..10_000_000-1) 

这将生成一个介于1000000和9999999之间的随机数

rand(10_000_000-1_000_000)+1_000_000

这在1.8.7中可以正常工作,没有任何gem(后台端口等)。

另一个与ruby 1.8.7兼容的选项:

兰特(9999999999)。到美国中心(10,兰特(9)。到美国。到


或者,如果性能不是问题,并且您不想计算零:

(0...7).map { |i| rand((i == 0 ? 1 : 0)..9) }.join.to_i

我觉得这更具可读性:

7.times.map { rand(1..9) }.join.to_i

1\u 000\u 000…10\u 000\u 000
更像Ruby。我使用的是Ruby 1.8.7,Random似乎不存在。它是宝石吗?@Blankman:你有没有尝试过
要求“随机”
,并检查它是否仅为1.9.2?1.8.7没有随机。它在1.9.2+中。安装backport gem,您将在1.8.7中继承它,以及许多其他有趣的优点。安装backport的后果是什么?(如果有)只需使用
rand
,而不是
Random.rand
。它可以一直工作到1.6.0需要一种避免零的方法