ruby产生随机数ruby产生随机数
1.(1..5).each {|n| puts (1..49).sort_by{|x| rand}[0..5]}
2.class MyRondom
#num为要产生随机数的个数;hash为作用类似于哈希表的数组;result为保存结果的
#数组;count为产生随机数的范围的最大值
attr_accessor :num,:hash,:result,:count
def initialize(num,e)
@num=num #产生随机数的个数
@count=e #保存范围e到@co...
ruby产生随机数
1.(1..5).each {|n| puts (1..49).sort_by{|x| rand}[0..5]}
2.class MyRondom
#num为要产生随机数的个数;hash为作用类似于哈希表的数组;result为保存结果的
#数组;count为产生随机数的范围的最大值
attr_accessor :num,:hash,:result,:count
def initialize(num,e)
@num=num #产生随机数的个数
@count=e #保存范围e到@count中
@hash=[] #创建一个空的数组
@result=[]
0.upto(e){|i| @hash=i} #初始化哈希表
end
def get_rondom #产生一个不为0的随机数
bool=true
while bool
a=rand(@num+1) #产生一个0到num的随机数
bool=false if !a.zero? #如果产生的随机数非0
end
return a #把产生的随机数返回去
end
def list #产生@num个不同的随机数
i=0; #用来记录产生随机数的个数
while i<@num
temp=get_rondom
if !@hash[temp].zero? #@hash[temp]不为0 说明产生的随机数temp首次出现
@hash[temp]=0 #将数组@hash中对应temp的位置置为0,表示此位置的数已经
出现过
@result<
本文档为【ruby产生随机数】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。