fra*_*lin 1 monads scala functor
ScalaOption既是 monad 又是函子吗?
据我了解,函子只是一种公开以下 API 的数据类型:
函子:
包装(或apply),它接受一个原语并将其包装在函子内
map它接受一个函子,解开它,应用一些函数并重新包装它
Option函子也是如此。因为我可以将 an 应用于Option给我的原始数据Option[T]。我还可以map获取Option函子内部的内容并在内部重新打包Option。
单子有何不同?我本来以为单子也有函数apply和map功能。从这篇文章中我了解到单子也有flatMap? 哪个被定义为简单map但没有将结果重新打包到 monad 中?(或者是map没有将结果重新打包到函子内?!)
既然Option提供了两者map,flatMap这是否意味着它既Option是函子又是单子?
| 归档时间: |
|
| 查看次数: |
435 次 |
| 最近记录: |