मैं हास्केल में पूरी तरह से नया हूँ और जब छोटे कार्यक्रमों लेखन मैं सामान्य रूप से भी कई के साथ अंत जहां खंड समारोह में कई चीजों की जांच करने के, तो यह लिखने के लिए जहां खंड या अच्छा अभ्यास है क्या इसके लिए कोई और अच्छा विकल्प है?हास्केल भी कई जहां खंड, कोई वैकल्पिक सुझाव
मैं नीचे दिए गए कोड में उदाहरण के लिएअगर है वहाँ दो आयामी सूची की प्रत्येक पंक्ति में चींटी डुप्लिकेट तत्वों को खोजने के लिए कोशिश की, यह काम करता है और हर चीज एक ही समारोह में सामग्री है, लेकिन मैं कैसे कोड लग रहा है और मैं से संतुष्ट नहीं हूं इस समस्या के करीब आने की अधिक अनिवार्य शैली पाएं, इसलिए मैं वहां अनुभवी लोगों से इस पर कोई सुझाव या विचार ढूंढ रहा हूं।
noDups :: [[a]] -> Bool
noDups du = and (checkSu du)
where
checkDup [] = []
checkDup (x:xs) = checkRow x ++ checkDup xs
where
checkRow [] = []
checkRow (x:xs) = [x /= y | y <- xs] ++ checkRow xs
एक बार फिर यह कोड केवल एक समस्या को चित्रित करने के लिए है, मैं कार्यात्मक शैली में समस्या बनाने के लिए दृष्टिकोण की तलाश में हूं। आपके सुझाव या लेख, लिंक बहुत उपयोगी होंगे।
धन्यवाद
+1 सभी जटिलताओं को एक साथ में जोड़ने की कोशिश करने के बजाय छोटे कार्यों में विभाजित करने का सुझाव देने के लिए +1। – Joren