【问题标题】:Avoid duplicate type alias in Scala class and companion object避免 Scala 类和伴生对象中的重复类型别名
【发布时间】:2015-02-15 20:30:30
【问题描述】:

我是 Scala 的新手,我有一个带有类和伴随对象的 Scala 程序,我想使用一个类型别名:

  1. 定义类的方法。
  2. 我还想在课堂外使用别名。为此,我发现在伴随对象中定义别名,从伴随对象导入别名很有用。我还在伴生对象中定义了一些隐式,所以这很自然。

具体代码在https://github.com/juanrh/Surus/blob/1cfd55ed49c4d1b22e53babe07bcf44fd74e3072/src/main/scala/org/surus/spark/SurusRDDFunctions.scala,类型别名是PMMLPrediction,类是SurusRDDFunctions。目前代码有效,但我已经在类和同伴中定义了别名,这不是很好。如果我删除了类中别名的定义,那么类就找不到它,这看起来很奇怪。所以我想我可能做错了什么,有什么想法吗?

非常感谢您的帮助!

你好,

胡安

【问题讨论】:

    标签: scala companion-object type-alias


    【解决方案1】:

    给定伴随对象

    object Example {
      type MyString = String
    }
    

    您可以通过伴随对象直接访问类型

    class Example (val name: Example.MyString) { }
    

    或者从伴生对象中导入

    class Example {
      import Example._
    
      val name: MyString = "example"
    }
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-04-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多