问题的作者
用抽象类型交换类型参数=>在他的类定义的开头写了一个.例:
abstract class Thing { t =>
type A
type G <: Group { type A = t.A }
val group: G
}
Run Code Online (Sandbox Code Playgroud)
什么t =>意思?
因为在Google&Co中很难找到,有人可以给我更多背景信息或提供链接,我可以在哪里找到有关这种语言结构的更多信息?
ayv*_*ngo 16
类本身的默认命名是this.你可以用tby 替换它t =>
如果您的类包含子类并且您需要访问封闭的自引用,这将非常有用.
如果没有t =>你的例子,你会写这样的东西:
abstract class Thing {
type G <: Group { type A = this.A }
}
Run Code Online (Sandbox Code Playgroud)
Group { type A = this.A }是一个子类型,因此this将引用组专门化本身而不是事物对象.可能你没有得到你的意思.如果您需要访问Thing self reference,则应通过为其他名称指定自引用来解决名称冲突
abstract class Thing { another_this = >
type G <: Group { type A = another_this.A}
}
Run Code Online (Sandbox Code Playgroud)