3

我正在研究 scala 演员库,在那里我找到了以下代码:

private[scheduler] trait TerminationMonitor { 
    _: IScheduler =>

    protected var activeActors = 0 
    ...

问题是_是什么意思:IScheduler => 在这里?
我是 Scala 的新手,下划线有很多不同的含义,这让我很困惑。

提前感谢您的帮助!

4

1 回答 1

5

下划线的这种用法类似于:

someElem match {
  case _: String => doSomething()
}

val k = (_: Int) => "This does not use the Int argument."

val (m, _, o) = (1,2,3)

它是标识符(变量)的语法占位符,之后立即丢弃。

在您的示例中,因此避免了自我类型的命名。(但由于自类型引用始终可以作为 访问,因此在这种特殊情况下this相当于编写。)this: IScheduler =>

于 2012-06-24T10:38:59.770 回答