2012-11-01 15 views
5

संभव डुप्लिकेट:एक यादृच्छिक संख्या समय की एक यादृच्छिक संख्या लेकिन कभी एक ही यादृच्छिक संख्या का चयन दो बार

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

साथ:
How do I generate a list of n unique random numbers in Ruby?

मैं क्या करना चाहते हैं अपवाद है कि अगर एक यादृच्छिक संख्या पहले ही प्रदर्शित हो चुकी है तो इसे फिर से प्रदर्शित नहीं किया जा सकता है। मैं इसे आसानी से कैसे कर सकता हूं?

उत्तर

8

एक त्वरित एक लाइनर के रूप में:

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

Chowlett एक और एक-लाइनर उपयोग कर रहे हैं: अच्छी एक :) –

+0

मैं इसे अक्सर कहते हैं नहीं है पर्याप्त - मैं आपको प्यार करता हूं जिस तरह से रूबी आपको इस तरह की चीज करने देता है! – Chowlett

+0

मुझे लगता है कि पायथन में यह और भी आसान हो सकता है :) –

4

आप रूबी 1.9 के साथ Array#sample

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

भी बढ़िया! धन्यवाद –