Scala:在这种情况下_代表什么

时间:2017-02-27 06:44:04

标签: scala lifting

我正在阅读有关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

我的问题是:下划线(“_”)代表上述功能。

感谢

1 个答案:

答案 0 :(得分:1)

_ map f等于(a: Optional[A]) => a.map(f)_ Scala 中的通配符。对于您的示例,它表示类型为Optional[A]的参数,并适用于map f