Ruby初心者スレッドPart8
■ このスレッドは過去ログ倉庫に格納されています
0500デフォルトの名無しさん
2006/11/03(金) 23:46:52こんな感じでいいんじゃね?randが一様な乱数を返すのが前提だけど。
def get
table = {"A" => 0.4, "B" => 0.3, "C" => 0.2, "D" => 0.1}
ratio = rand
key = nil
table.each do |key, value|
if (ratio -= value) <= 0
break
end
end
key
end
result = Hash.new(0)
1000.times do
result[get] += 1
end
p result
■ このスレッドは過去ログ倉庫に格納されています