srand的作用

api:http://ruby-doc.org/core-2.4.0/Kernel.html#method-i-srand

srand 1
a = [rand(100),rand(100),rand(100),rand(100),rand,rand]
srand 1
b = [rand(100),rand(100),rand(100),rand(100),rand,rand]
srand 1
c = [rand(100),rand(100),rand(100),rand(100),rand,rand]
puts a == b
puts a == c

上面的代码,最后会输出2次true,即数组a、b、c是“相等”的。

  • 当使用rand时,先检查是否用过srand指定随机种子,如果没有,则每次rand都会用一个不同的随机种子。如果用过srand指定随机种子,那么则会使用指定的随机种子来进行rand。
  • 当第2次用srand指定相同的随机种子后,第N次的rand始终与第1次用srand后,第N次的rand的结果相同。
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • mt_srand() 和 mt_rand() mt_srand(): 为mt_rand()函数播种的函数 php ...
    rivir阅读 2,294评论 0 1
  • ↓ 这座城市下雨下冰雹又天晴 坐在昏暗的办公室 看头条开微信 没什么激起心中的涟漪 新闻还是老调子 别人故事里句子...
    阿亮的月亮阅读 255评论 9 2
  • 假设以下代码都运行在 Documents Mongoose文档表示对存储在MongoDB中的文档的一对一映射。每个...
    打铁大师阅读 714评论 0 3
  • 每日推荐: 每日一歌――陈奕迅《不如这样》 每日一影――许鞍华《玉观音》 开始记录的第七十五天。 轻飘飘的...
    萨拉芯雪阅读 108评论 0 1
  • 第一次见到黄坚,是他来学校应聘。 通讯员拿着抹布靠在书柜上,司机坐在桌子上晃荡着两条腿,收发员坐在我旁边的...
    萧凤凰阅读 318评论 0 1