相关疑难解决方法(0)

自我类型注释中这与自我的区别?

在各种Scala文献中,我看到一些使用"this"的自我类型注释和其他使用"self"的注释:

trait A { this: B => ... }
trait A { self: B => ... }
Run Code Online (Sandbox Code Playgroud)

使用"this"或"self"之间有什么真正的区别吗?你用的是什么名字是否重要?这有效吗?

trait A { foo: B => ... }
Run Code Online (Sandbox Code Playgroud)

scala

132
推荐指数
2
解决办法
2万
查看次数

新类Scala中的“自我”是什么意思

最近我正在阅读火花的来源。当到达“org.apache.spark.deploy.SparkSubmit”类时,我对关键字“self”和运算符“=>”感到困惑。有没有人可以为我解释一下?

override def main(args: Array[String]): Unit = {
val submit = new SparkSubmit() {
  self =>

  override protected def parseArguments(args: Array[String]): SparkSubmitArguments = {
    new SparkSubmitArguments(args) {
      override protected def logInfo(msg: => String): Unit = self.logInfo(msg)

      override protected def logWarning(msg: => String): Unit = self.logWarning(msg)
    }
  }

  override protected def logInfo(msg: => String): Unit = printMessage(msg)

  override protected def logWarning(msg: => String): Unit = printMessage(s"Warning: $msg")

  override def doSubmit(args: Array[String]): Unit = {
    try {
      super.doSubmit(args)
    } catch {
      case …
Run Code Online (Sandbox Code Playgroud)

scala self apache-spark

1
推荐指数
2
解决办法
1123
查看次数

标签 统计

scala ×2

apache-spark ×1

self ×1