如何生成介于0和n之间的随机数?
当前回答
如果您不仅要寻找数字,还要寻找十六进制或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)
其他回答
嗯,我想通了。显然有一个内置(?)函数叫做rand:
rand(n + 1)
如果有人回答了更详细的答案,我会将其标记为正确答案。
这个怎么样?
num = Random.new
num.rand(1..n)
您可以简单地使用random_number。
如果给定正整数为n,random_number返回一个整数:0<=random_nnumber<n。
这样使用:
any_number = SecureRandom.random_number(100)
输出将是0到100之间的任何数字。
你可以做rand(范围)
x = rand(1..5)
此链接将对此有所帮助;
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)}
推荐文章
- 如何找到包含匹配值的哈希键
- 未初始化的常量ActiveSupport::Dependencies::Mutex (NameError)
- 如何在Rails中找到当前的路由?
- 在Ruby中->运算符叫什么?
- Rails参数解释?
- Ruby中DateTime和Time的区别
- 如何从代理服务器后面更新Ruby Gems (ISA-NTLM)
- JS生成随机布尔值
- 如何用另一个键替换哈希键
- 添加一个CSS类<%= f.submit %>
- 从数组中获取随机项
- attr_accessor和attr_accessible的区别
- 如何从Ruby文件路径中获得没有扩展名的文件名
- 创建新用户时出现ActiveModel::ForbiddenAttributesError
- rvm安装失败:“rvm不是一个函数”