FMAP的函子類型是:困惑在Haskell
fmap :: Functor f => (a -> b) -> f a -> f b
它看起來像,第一應用功能(一 - > b)至FA的參數創建的結果b型,然後應用F到它,並且結果是FB
使用也許例如:
fmap show (Just 1)
result is : Just "1"
相同的話說:
Just (show 1)
但是當( - >)用作函子(在Control.Monad.Instances)
import Control.Monad.Instances
(fmap show Just) 1
result is : "Just 1"
即,只要是第一應用,則顯示被應用。在另一個例子中,結果是一樣的:
fmap (*3) (+100) 1
result is 303
爲什麼不* 3,再+100?
是的,你的答案很棒!我犯了一個大錯誤。非常感謝你。 – 2012-04-24 13:54:37
我混淆了「類型參數」與一個具體參數 – 2012-04-24 14:19:52