我在一些单元测试代码中发现了一些令人困惑的特性使用,例如:
trait MyTrait {
  val t1 = ... //some expression
  val t2 = ... //some expression
}
然后使用new实例化特征,同时在实例化之后用花括号包裹一些表达式.
test("it is a test") {
  new MyTrait {
    // do something with t1 and t2
  }
}
我对这种奇怪的语法感到困惑.
我的问题是:
为什么使用花括号跟随特征实例化?
在这种情况下特征实例化的目的是什么,其他情况也可能有帮助?