如何生成介于0和n之间的随机数?
当前回答
尝试array#shuffle方法进行随机化
array = (1..10).to_a
array.shuffle.first
其他回答
在ruby中获取随机数的简单方法是,
def random
(1..10).to_a.sample.to_s
end
可以使用rand方法生成随机数。传递给rand方法的参数应为整数或范围,并返回范围内的相应随机数:
rand(9) # this generates a number between 0 to 8
rand(0 .. 9) # this generates a number between 0 to 9
rand(1 .. 50) # this generates a number between 1 to 50
#rand(m .. n) # m is the start of the number range, n is the end of number range
这个怎么样?
num = Random.new
num.rand(1..n)
rand(6) #=> gives a random number between 0 and 6 inclusively
rand(1..6) #=> gives a random number between 1 and 6 inclusively
请注意,范围选项仅在更新(我相信是1.9+)的ruby版本中可用。
您可以简单地使用random_number。
如果给定正整数为n,random_number返回一个整数:0<=random_nnumber<n。
这样使用:
any_number = SecureRandom.random_number(100)
输出将是0到100之间的任何数字。
推荐文章
- 确定ActiveRecord对象是否为New
- Rails中的OO设计:在哪里放置东西
- 如何在Heroku上重新启动rails服务器?
- respond_to块如何工作?
- 给定一个类,查看实例是否有方法(Ruby)
- rails局部模板中的可选局部变量:如何退出(defined?foo)混乱?
- 在日历应用程序中建模重复事件的最佳方法是什么?
- Ruby Bundle Symbol not found: _SSLv2_client_method (LoadError)
- 如何在c++中生成一个随机数?
- 如何创建一个私有类方法?
- rails耙任务是否提供对ActiveRecord模型的访问?
- 无法安装pg gem
- 双* (splat)操作符做什么
- 如何使用Ruby on Rails进行HTTP请求?
- (1) libcurl不支持或禁用https协议