是什么=>意味着在斯卡拉类定义的开始?(What does => mean at the be

2019-07-30 04:13发布

这个问题笔者交换类型参数与抽象类型写了=>在他的类定义的开始。 例:

abstract class Thing { t => 
  type A 
  type G <: Group { type A = t.A } 
  val group: G 
} 

什么是t =>是什么意思?

因为这是很难在谷歌&CO找,能有人请给我更多的背景信息,或提供一个链接,在那里我可以找到有关这个语言结构的更多信息?

Answer 1:

默认命名类本身就是this 。 你可以将其替换为tt =>

如果你的类包含的子类,你需要进入封闭自我的参考是非常有用的。

没有t =>在您的例子中,你会写是这样的:

abstract class Thing {
  type G <: Group { type A = this.A }
}

Group { type A = this.A }是一个亚型所以this将参照组专业化本身不是一个东西对象。 也许你没有你的意思得到什么。 如果您需要访问自己的事情参考,你应该通过分配自引用另一名解析名称冲突

abstract class Thing { another_this = >
  type G <: Group { type A = another_this.A}
}


文章来源: What does => mean at the beginning of a Scala class definition?
标签: class scala