0
for i in 1..numAthletes
randomNum = 0;
runningTotal = 0;
randomNum = rand(30..89);
athleteTimes['swim'] = randomNum;
runningTotal += randomNum;
randomNum = rand(90..119);
athleteTimes['run'] = randomNum;
runningTotal += randomNum;
randomNum = rand(120..360);
athleteTimes['bike'] = randomNum;
runningTotal += randomNum;
athleteTimes['total'] = runningTotal
athleteTotal[i] = athleteTimes;
end
當我運行上面的代碼時,我一直得到相同的哈希存儲在後續散列值集。我假設我需要做的事情來重置/重新生成隨機生成器,但我不確定如何在Ruby中執行此操作。在一個循環內保持rand(n1..n2)的相同值
我嘗試使用r = Random.new
和使用r.rand(n1..n2)
希望這會迫使發電機被重新接種,但它沒有。
我一直對這個問題感到厭倦太久,明顯的逃脫了我。這工作真棒。此外,我還能夠將我的'athleteTimes = Hash.new(0);'移到循環中,並修復了它。 – defaultNINJA
非常好。我很高興能夠提供幫助。我建議你儘量遵循常見的[Ruby編碼風格](https://github.com/bbatsov/ruby-style-guide)。你的代碼看起來更像是JavaScript而不是Ruby ... – spickermann
Thanks @spickermann,我在Java,C++,PHP,JavaScript等方面有一個背景。這是我第一次進入Ruby。我會看看你提供的鏈接。 – defaultNINJA