下面截取的下划线是什么意思。这是scalaz7库的片段:
trait Apply[F[_]] extends Functor[F] { self =>
//...
def ap[A, B](fa: => F[A])(f: => F[A => B]): F[B]
//...
def apF[A, B](f: => F[A => B]): F[A] => F[B] = ap(_)(f) // <----HERE
//...
}使用它的一般规则是什么?
发布于 2012-11-19 22:07:20
在Scala中,下划线通常是一个通配符。这里明确地说,它是参数名称的简写。因此,λ表达式ap(_)(f)等同于x => ap(x)(f)。
如果每个参数只使用一次,并且按照其声明的顺序使用,则可以使用_作为匿名函数的参数的简写。
https://stackoverflow.com/questions/13455413
复制相似问题