代码之家  ›  专栏  ›  技术社区  ›  Srinivas

理解scala语法特征

  •  0
  • Srinivas  · 技术社区  · 6 年前

    我正在读有关scalatest的文章,我经常碰到这种语法

    trait Sample {
      self : FlatSpec =>
    
    }
    

    这是什么意思?请举例说明

    1 回复  |  直到 6 年前
        1
  •  5
  •   Bogdan Vakulenko    6 年前

    它叫 self-type . 它意味着特质 Sample 可以从中访问所有成员 FlatSpec ,但当您基于此特性创建任何实例时,必须 mixin (合并)这个实例和 扁平规格 . 无法创建的实例 样品 因为 样品

    这看起来可能有点像继承,但事实并非如此。看到了吗 this 回答

    注: self 只是对当前对象的引用,而不是语法元素。你可以用任何词代替 .