कल, मैंने this प्रश्न पूछा और वास्तव में कभी जवाब नहीं मिला कि मैं वास्तव में खुश था। मैं सचमुच जानना चाहता हूं कि एन अनूठी यादृच्छिक संख्याओं की सूची कैसे उत्पन्न करें, जैसे कि रूबी जैसे शैली में अत्यधिक अनिवार्य होने के बिना।मैं रूबी/पायथन में इसे कैसे लिखूं? या, क्या आप मेरी LINQ को रूबी/पायथन में अनुवाद कर सकते हैं?
के बाद से मैं कुछ भी नहीं देखा था मैं वास्तव में पसंद है, मैं LINQ में समाधान मैं देख रहा था के लिए लिखा है:
static void Main(string[] args)
{
var temp = from q in GetRandomNumbers(100).Distinct().Take(5) select q;
}
private static IEnumerable GetRandomNumbers(int max)
{
Random r = new Random();
while (true)
{
yield return r.Next(max);
}
}
आप रूबी के लिए मेरे LINQ का अनुवाद कर सकते हैं? अजगर? कोई अन्य कार्यात्मक प्रोग्रामिंग भाषा?
नोट: कृपया बहुत सारे लूप और सशर्त उपयोग न करने का प्रयास करें - अन्यथा समाधान छोटा है। इसके अलावा, मैं एक समाधान देखना चाहूंगा जहां आपको एन से बहुत अधिक सरणी उत्पन्न करने की आवश्यकता नहीं है, तो आप केवल डुप्लीकेट को हटा सकते हैं और इसे एन
मुझे पता है कि मैं picky, लेकिन मैं वास्तव में इस समस्या के कुछ सुरुचिपूर्ण समाधान देखना चाहता हूं। धन्यवाद!
संपादित करें:
सभी डाउनवॉट क्यों?
मूल रूप से मेरे कोड नमूने में टेक() के बाद अलग() था, जैसा कि कई ने बताया, मुझे खाली सूची के साथ छोड़ सकता है। मैंने उस क्रम को बदल दिया है जिसमें उन तरीकों को प्रतिबिंबित करने के लिए बुलाया गया है जो मेरा पहला मतलब था।
माफी:
मुझे बताया गया है इस पोस्ट के रूप में नहीं बल्कि दंभपूर्ण बारे में जाना। मैं यह इंगित करने की कोशिश नहीं कर रहा था कि LINQ रूबी/पायथन से बेहतर है; या मेरा समाधान हर किसी के मुकाबले ज्यादा बेहतर है। मेरा इरादा सिर्फ यह जानने के लिए है कि रुबी में यह कैसे करें (कुछ बाधाओं के साथ)। मुझे खेद है अगर मैं एक झटका के रूप में आया था।
बस इसलिए हम इस पर स्पष्ट कर रहे हैं: भले ही अजगर कुछ कार्यात्मक निर्माणों, सूची comprehensions की तरह है, यह वास्तव में एक कार्यात्मक भाषा नहीं है, और यह एक नहीं है समस्या जो आप आसानी से पाइथन में एक वास्तविक कार्यात्मक शैली में हल करेंगे। –
मुझे आवश्यकताएं नहीं मिलती हैं। क्या यह एन मान लेना है और उस सेट में अलग-अलग मानों का पता लगाना है? या यह कुछ आकार के एक सेट का पता लगाने के लिए है जिसमें एन विशिष्ट मान हैं? –
यदि आप (5) लेते हैं और फिर अलग ... आप 1 नंबर के साथ हवादार हो सकते हैं। –