使用此关键字继承?

Tg.*_*Tg. 5 scala this

可能重复:
scala自我类型和特质子类之间有什么区别?

来自最新网站的示例.有一件事我不太懂

trait FunSuiteStackBehaviors { 
                   this: FunSuite => //This line
                         def a() {}
                         def b() {}
}

class StackFunSuite extends FunSuite with FunSuiteStackBehaviors {}
Run Code Online (Sandbox Code Playgroud)

据我了解,似乎他们试图将一些defs分配到一个特征中.但是这this: FunSuite =>部分做了什么?我尝试使用extends FunSuite代替

trait FunSuiteStackBehaviors extends FunSuite { 
                         def a() {}
                         def b() {}
}

class StackFunSuite extends FunSuite with FunSuiteStackBehaviors {}
Run Code Online (Sandbox Code Playgroud)

而我仍然得到相同的结果.它们是一样的吗 ?

Jam*_*mil 0

this: FunSuite =>称为自类型注释。没有什么特别的"this" 两个片段都是等效的。以下 对其基本原理的一些讨论。简而言之,自我类型注释有助于表示compositional性质而不是IS-A关系。