仿函数的目的

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)

Jas*_*r-M 7

目的不一定是Functor[List].map(list1)(_ * 2),而是:

def timesTwo[F[_]: Functor](f: F[Int]) = 
  Functor[F].map(f)(_ * 2)
Run Code Online (Sandbox Code Playgroud)

抽象可以映射的所有内容的能力.