zer*_*ing 2 monads functional-programming scala functor
我试图理解仿函数并理解概念而不是它的目的?
考虑以下示例:
val list1 = List(1,2,3)
val list2 = Functor[List].map(list1)(_ * 2)
Run Code Online (Sandbox Code Playgroud)
有什么好处:
list1.map(x => x * 2)
Run Code Online (Sandbox Code Playgroud)
?
目的不一定是Functor[List].map(list1)(_ * 2),而是:
def timesTwo[F[_]: Functor](f: F[Int]) =
Functor[F].map(f)(_ * 2)
Run Code Online (Sandbox Code Playgroud)
抽象可以映射的所有内容的能力.