次のような一部のユニットテストコードで、特性の混乱した使用法を見つけました。
trait MyTrait {
val t1 = ... //some expression
val t2 = ... //some expression
}
そして、 new を使用してトレイトをインスタンス化し、その間、中括弧で囲まれたいくつかの式がインスタンス化されました。
test("it is a test") {
new MyTrait {
// do something with t1 and t2
}
}
この奇妙な構文に混乱しています。
私の質問は:
中括弧による特性のインスタンス化に従うのはなぜですか?
この場合の特性のインスタンス化の目的は何ですか?他の場合も役立つ可能性があります?