查看Functional Programming in Scala中的Applicative
,我看到了apply
函数:
trait Applicative[F[_]] extends Functor[F] {
def apply[A,B](fab: F[A => B])(fa: F[A]): F[B]
签名中F[A => B]
的含义是什么?
答案 0 :(得分:2)
F[A => B]
是函数A => B
的函子。它的含义取决于F
本身的含义,但我们可以提出Option[A => B]
如何成为可能包含或不包含要应用的函数的选项的示例,或{{1}将包含将List[A => B]
映射到A
的函数。
正如作者在本练习的solution中所示,我们通过使用函数B
得到F[A => B]
,然后将其括起来使其成为f: (A, B) => C)
到{A
的函数{1}},并将其映射到方法B => C
中的F[A]
。