Scala:下划线的另一种用法
Terrylee
阅读:19
2024-11-01 17:39:52
评论:0
我正在查看 scala actors 库,在那里我找到了以下代码:
private[scheduler] trait TerminationMonitor {
_: IScheduler =>
protected var activeActors = 0
...
问题是_: IScheduler => 是什么意思?
我是 Scala 的新手,下划线有这么多不同的含义,这让我感到困惑。
提前感谢您的帮助!
请您参考如下方法:
下划线的这种用法类似于:
someElem match {
case _: String => doSomething()
}
val k = (_: Int) => "This does not use the Int argument."
val (m, _, o) = (1,2,3)
它是标识符(变量)的句法占位符,随后立即被丢弃。
因此,在您的示例中,避免了 self 类型的命名。 (但由于自类型引用始终可以作为 this
访问,因此在这种特殊情况下它等同于编写 this: IScheduler =>
。)
声明
1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,请转载时务必注明文章作者和来源,不尊重原创的行为我们将追究责任;3.作者投稿可能会经我们编辑修改或补充。