Gar*_*eth 5 ruby random srand
我知道我可以rand通过调用srand种子"重新启动"我的调用,但这肯定会影响rand其他库方法的未来调用,包括加密方法?
rand
srand
如何在某些地方重复我的随机性并仍然确保我的其余代码不受影响?
pax*_*blo 0
好吧,您可以实现自己的PRNG,而不使用系统版本。有大量关于如何做到这一点的文献,从最简单的线性同余到梅森扭曲器。
事实上,由于 Ruby 是开源的,您实际上可以偷看(请参阅random.c参考资料)它如何处理随机数,并使用与系统版本无关的信息重新实现它。
random.c
归档时间:
15 年 前
查看次数:
815 次
最近记录:
13 年,5 月 前