0

我正在阅读有关 Scala 中提升方法的演示教程。这是基本类的代码:

case object None extends Optional[Nothing]

case class Presenter[+A](get: A) extends Optional[A]

trait Optional[+A] {
  def map[B](f: A => B): Optional[B] = this match {
    case None => None
    case Presenter(x) => Presenter(f(x))
  }
}

下面是提升方法:

  def lift[A, B](f: A => B): Optional[A] => Optional[B] = _ map f

我的问题是:下划线(“_”)在上述函数中代表什么。

谢谢

4

1 回答 1

2

_ map f等于(a: Optional[A]) => a.map(f),_Scala中的通配符。对于您的示例,这意味着具有类型的参数Optional[A]并适用于map f

于 2017-02-27T06:54:01.467 回答