haskell - Shortening/Making a function more concise -
फ्लशपॉइंट :: [कार्ड] - & gt; पूर्णांक फ्लश पॉइंट्स सीएस @ (सी 1: एचडी) = यदि फ्लश पॉइंट्सकेल True (सूटकाउंट एचडी) & gt; flushPointsCalc झूठी (suitCount सीएस) तो flushPointsCalc यह सच है (suitCount एचडी) और flushPointsCalc झूठी (suitCount सीएस) चलो कहते हैं कि अगर मैं एक समारोह है इस तरह के ऊपर एक के रूप में करते हैं, मैं कैसे चारों ओर छोटा जाने हैं यह?
मैं एक जहां hdFlush = flushPointsCalc यह सच है (suitCount HD) करने का सोच रहा था, लेकिन है कि मैं के बाद से HD ऊपर घोषित किया जाता है नहीं कर सकते हैं। मुझे लगता है कि हास्सेल में ऐसा करने का एक उचित तरीका होगा, यह समझकर आलसी कैसे हो रहा है, लेकिन मुझे यकीन नहीं है कि मुझे कहां से देखना है।
यह वही है जो मानक अधिकतम फ़ंक्शन करता है: यह बड़ा चुनता है मूल्य। flushPoints सीएस @ (C1: HD) = अधिकतम (flushPointsCalc यह सच है (suitCount HD)) (flushPointsCalc झूठी (suitCount सीएस)) तुम सिर्फ पता है कि कैसे flshPointsCalc यह सच है (suitCound HD) , तो आप उन्हें <> वास्तव में एक जहां खंड: फ्लश पॉइंट :: [कार्ड] - & gt; पूर्णांक फ्लश पॉइंट सीएस @ (सी 1: एचडी) = if hdFlush & gt; csFlush तो hdFlush बाकी csFlush जहां hdFlush = flushPointsCalc यह सच है (suitCount HD) csFlush = flushPointsCalc झूठी (suitCount सीएस) <कोड> सीएस @ (C1: HD) पैटर्न है जहां ब्लॉक तुरंत flushPoints समारोह के तहत है, तो आप उपयोग कर सकते हैं HD उस में के लिए गुंजाइश है। < / html>
Comments
Post a Comment