Rubyについて Part 2
■ このスレッドは過去ログ倉庫に格納されています
0330デフォルトの名無しさん
NGNG1.6.6のソース見たけど、srandが返す古いseedは前回srandした時のseedみたいね。
普通にrandが呼び出された場合は一切無視して、こんな感じでどうよ?
class Random
attr_reader :seed, :times
def initialize(seed = 0)
@seed = seed
@times = 0
end
def next_num(max = 0)
srand(@seed)
@times.times do
rand()
end
@times += 1
rand(max)
end
end
nest_numが何度も呼び出された場合、
かなりいらない処理が多くなってしまうので全然実用的ではないけどね。
繰り返し呼び出される場合は工夫するように変えてみればいいと思う。
あと、マルチスレッドなんてしたら、それこそダメダメだな…。
■ このスレッドは過去ログ倉庫に格納されています