二回

2012-11-01 17 views
5

可能性の重複をランダムな回数だけ乱数を選びませんが、決して同じ乱数:
How do I generate a list of n unique random numbers in Ruby?二回

私がやりたい:と

Random.rand(0..10).times do 
    puts Random.rand(0..10) 
end 

を既に乱数が表示されている場合は、それを再び表示することはできません。どのようにこれを最も簡単に行うのですか?迅速なワンライナーとして

答えて

8

rands = (0..10).to_a.shuffle[0, Random.rand(0..10)] 
+0

Chowlettと別のワンライナーを使用している場合:ニース、私はしばしばそれを言うことはありません1 :) –

+0

十分に - 私は本当にRubyがあなたにこのようなことをさせる方法を愛しています! – Chowlett

+0

私はPythonでそれがさらに簡単にできると想像しています:) –

4

あなたはRuby 1.9のArray#sample

rands = (0..10).to_a.sample(­Random.ran­­d(0..10)) 
+0

も素晴らしいです!ありがとう –