2015-11-02 7 views
6

उदाहरण मैंने देखा है अब तक Basics.+ के चारों ओर एक "आवरण" समारोह बनाने और उसके बाद आंशिक रूप से लागू होने वाले सभी:मैं मूलभूत रूप से इंफिक्स फ़ंक्शन को आंशिक रूप से कैसे लागू करूं। +?

sum x y = 
    x + y 

plusOne = 
    sum 1 

हालांकि, मुझे यकीन है कि एक तरह से अतिरिक्त रैपिंग से बचने के लिए बनाया जा सकता है कर रहा हूँ।

उत्तर

10

कोष्टक

plusOne = 
    (+) 1 
+0

आह में लपेट, कि होना चाहिए क्यों प्रलेखन कोष्ठकों के साथ विधि को दर्शाता है। – Shepmaster

+0

यह विचार क्यों है कि यह '(+ 1) 'हैस्केल में क्यों नहीं है? और क्यों '(-) 1' का बहुत उत्सुक व्यवहार है ... लेकिन '(+) -1' कार्यों का इरादा है :-) –

+1

इन्फिक्स फ़ंक्शंस को नियमित कार्यों की तुलना में थोड़ा अलग परिभाषित किया जाता है। '(+ 1) 'यह है कि आप आंशिक रूप से नियमित फ़ंक्शन कैसे लागू करेंगे लेकिन इन्फिक्स के लिए आपको पहले नियमित कार्य की तरह व्यवहार करने के लिए इसे'() 'में लपेटना होगा। '(-)' हस्ताक्षर 'संख्या -> संख्या -> संख्या' है। यह पहली संख्या से दूसरे नंबर को घटा देता है। '(-) 1' आंशिक रूप से पहले नंबर के रूप में 1 लागू होता है, इसलिए यह' f x = 1 - x' जैसा ही है। यदि आप इसे अन्य तरीकों से चाहते हैं [फ्लिप] (http://package.elm-lang.org/packages/elm-lang/core/3.0.0/Basics#flip) फ़ंक्शन 'फ्लिप (-) 1 ' – robertjlooby

संबंधित मुद्दे