在阅读一段Haskell代码时,我发现了这个:<$>
.在Haskell中它意味着什么?经过一些谷歌搜索,我仍然在黑暗中.
lef*_*out 61
谷歌不是Haskell最好的搜索引擎.尝试Hoogle或Hayoo,两者都会立即指出:
(<$>) :: Functor f => (a->b) -> f a -> f b
Run Code Online (Sandbox Code Playgroud)
它只是一个中缀的同义词fmap
,所以你可以写例如
Prelude> (*2) <$> [1..3]
[2,4,6]
Prelude> show <$> Just 11
Just "11"
Run Code Online (Sandbox Code Playgroud)
像大多数中缀函数一样,它不是内置语法,只是函数定义.但是仿函数是一种<$>
几乎无处不在的基本工具.
归档时间: |
|
查看次数: |
14333 次 |
最近记录: |