如何生成介于0和n之间的随机数?
当前回答
您可以使用ruby rand方法,如下所示:
rand(n+1)
您需要使用n+1,因为rand方法返回任何大于或等于0但小于传递的参数值的随机数。
其他回答
这个呢?
n = 3
(0..n).to_a.sample
如果您不仅要寻找数字,还要寻找十六进制或uuid,那么值得一提的是,SecureRandom模块在1.9.2+中找到了从ActiveSupport到ruby内核的方法。因此,不需要完整的框架:
require 'securerandom'
p SecureRandom.random_number(100) #=> 15
p SecureRandom.random_number(100) #=> 88
p SecureRandom.random_number #=> 0.596506046187744
p SecureRandom.random_number #=> 0.350621695741409
p SecureRandom.hex #=> "eb693ec8252cd630102fd0d0fb7c3485"
它记录在这里:Ruby1.9.3-模块:SecureRandom(lib/SecureRandom.rb)
这个怎么样?
num = Random.new
num.rand(1..n)
此链接将对此有所帮助;
http://ruby-doc.org/core-1.9.3/Random.html
下面对红宝石中的随机数进行了更清晰的描述;
生成0到10的整数
puts (rand() * 10).to_i
生成从0到10的数字以更可读的方式
puts rand(10)
生成10到15之间的数字包括15
puts rand(10..15)
非随机随机数
每次生成相同的数字序列程序正在运行
srand(5)
生成10个随机数
puts (0..10).map{rand(0..10)}
你可以做rand(范围)
x = rand(1..5)
推荐文章
- 如何记录Ruby代码?
- Ruby:包含的反义词是什么?Ruby数组?
- 想要在Rails中找到没有关联记录的记录
- 生成具有给定(数值)分布的随机数
- helper和helper_method做什么?
- 如何回滚只是一个步骤使用耙db:迁移
- 在Ruby中,proc和lambda有什么区别?
- 如何传递参数到一个Rake任务与环境在Rails?
- 获取当前正在执行的方法的名称
- 如何在Rails中计算相对时间?
- 在php中生成一个随机密码
- 如何在Rails迁移中将可空列更改为不可空列?
- GLSL的随机/噪声函数
- 在Ruby中使用范围填充数组的正确方法
- java.util.Random和java.security. securerrandom的区别