functor में FMAP के प्रकार है:Haskell
fmap :: Functor f => (a -> b) -> f a -> f b
यह की तरह लग रहा है, पहले समारोह (एक -> ख) लागू पिता के पैरामीटर के लिए का एक परिणाम बनाने के लिए टाइप बी, तो यह करने के लिए च लागू होते हैं, और परिणाम अमेरिकन प्लान
का उपयोग कर हो सकता है कि एक उदाहरण के लिए है:
fmap show (Just 1)
result is : Just "1"
ही यह कहते हुए:
Just (show 1)
लेकिन जब - पहले (>) एक functor के रूप में (Control.Monad.Instances में)
import Control.Monad.Instances
(fmap show Just) 1
result is : "Just 1"
है कि प्रयोग किया जाता है, बस लागू है, तो शो लागू किया जाता है। एक और उदाहरण में, परिणाम समान है:
fmap (*3) (+100) 1
result is 303
क्यों नहीं * 3 पहले, फिर +100?
हाँ, आपका जवाब बहुत अच्छा है! मैंने एक बड़ी गलती की। आपका बहुत बहुत धन्यवाद। –
मैं एक ठोस पैरामीटर के साथ "प्रकार पैरामीटर" भ्रमित –