我正在查看scala actors库,在那里我找到了以下代码:
private[scheduler] trait TerminationMonitor {
_: IScheduler =>
protected var activeActors = 0
...
Run Code Online (Sandbox Code Playgroud)
问题是_的含义是什么:IScheduler =>在这里?
我是Scala的新手,让我感到困惑的是,下划线有很多不同的含义.
感谢您的帮助!
下划线的这种用法类似于:
someElem match {
case _: String => doSomething()
}
val k = (_: Int) => "This does not use the Int argument."
val (m, _, o) = (1,2,3)
Run Code Online (Sandbox Code Playgroud)
它是标识符(变量)的语法占位符,之后立即丢弃.
在您的示例中,因此避免了自我类型的命名.(但由于自我类型引用始终可访问this,因此它等同于this: IScheduler =>在特殊情况下编写.)
| 归档时间: |
|
| 查看次数: |
225 次 |
| 最近记录: |