gpt4 book ai didi

ruby - Ruby 中的可重复随机性

转载 作者:数据小太阳 更新时间:2023-10-29 07:18:06 24 4
gpt4 key购买 nike

我知道我可以通过使用种子调用 srand 来“重启”我的 rand 调用,但这肯定会影响以后对 rand 的调用通过其他库方法,包括加密方法?

我怎样才能在某些地方重复我的随机性,同时仍然确保我的代码的其余部分不受影响?

最佳答案

(Ruby 1.9.2)您可以序列化一个随机生成器,将其存储在一个文件中,并在您的程序中提供该文件。

创建文件:

File.open('random_generator.marshal', 'w'){ |f| Marshal.dump(Random.new, f) }

在你的程序中使用随机生成器:

f = File.open( 'random_generator.marshal', 'r' )
r = Marshal.load( f )
f.close

10.times{ puts r.rand } #repeatable

关于ruby - Ruby 中的可重复随机性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4053978/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com