避免 Scala class 和伴随对象中的重复类型别名
Avoid duplicate type alias in Scala class and companion object
我是 Scala 的新手,我有一个带有 class 和伴随对象的 Scala 程序,我想使用一个类型别名:
- 定义class的方法。
- 我还想使用 class 之外的别名。为此,我发现在伴随对象中定义别名、从伴随对象导入别名很有用。我还在伴随对象中定义了一些隐式,所以这很自然。
具体代码见https://github.com/juanrh/Surus/blob/1cfd55ed49c4d1b22e53babe07bcf44fd74e3072/src/main/scala/org/surus/spark/SurusRDDFunctions.scala,类型别名是PMMLPrediction,class是SurusRDDFunctions。目前代码有效,但我已经在 class 和同伴中定义了别名,这不是很好。如果我删除 class 中别名的定义,那么 class 将无法找到它,这看起来很奇怪。所以我想我可能做错了什么,有什么想法吗?
非常感谢您的帮助!
你好,
胡安
给定伴生对象
object Example {
type MyString = String
}
您可以直接通过伴随对象访问类型
class Example (val name: Example.MyString) { }
或者从伴随对象中导入它
class Example {
import Example._
val name: MyString = "example"
}
我是 Scala 的新手,我有一个带有 class 和伴随对象的 Scala 程序,我想使用一个类型别名:
- 定义class的方法。
- 我还想使用 class 之外的别名。为此,我发现在伴随对象中定义别名、从伴随对象导入别名很有用。我还在伴随对象中定义了一些隐式,所以这很自然。
具体代码见https://github.com/juanrh/Surus/blob/1cfd55ed49c4d1b22e53babe07bcf44fd74e3072/src/main/scala/org/surus/spark/SurusRDDFunctions.scala,类型别名是PMMLPrediction,class是SurusRDDFunctions。目前代码有效,但我已经在 class 和同伴中定义了别名,这不是很好。如果我删除 class 中别名的定义,那么 class 将无法找到它,这看起来很奇怪。所以我想我可能做错了什么,有什么想法吗?
非常感谢您的帮助!
你好,
胡安
给定伴生对象
object Example {
type MyString = String
}
您可以直接通过伴随对象访问类型
class Example (val name: Example.MyString) { }
或者从伴随对象中导入它
class Example {
import Example._
val name: MyString = "example"
}