在 Scala 的其他包中使用案例 class
use case class in other package in scala
// vh.scala
class VH(temp: String) extends Serializable {
case class car(name: String, color: String, year: Int) // case class I want to use in other package
}
我做了 class 命名为 VH,它将在主 scala 中使用
// main.scala
import packname.VH
val cars = nameRDD.map({ name=> car(name, "red", 2010) }).... // works well
到这里为止,它按我想要的方式工作,但下面的代码无法工作或编译。
cars.map({ car=> tf.go( car)}) // it's what I want to do
// other.scala - tf class
import packname.VH // not work
class TF ... {
def go( car: car) // not work
def go( car: VH.car) // not work
}
如何在其他包 class 中使用案例 class 定义?有什么想法吗?谢谢
您的 car
是一个嵌套的 class,它似乎没有必要。把它移到 VH
外面就行了。如果它确实需要嵌套,您将需要一个 VH
实例来使用它,例如
def go(vh: VH)(car: vh.car)
// vh.scala
class VH(temp: String) extends Serializable {
case class car(name: String, color: String, year: Int) // case class I want to use in other package
}
我做了 class 命名为 VH,它将在主 scala 中使用
// main.scala
import packname.VH
val cars = nameRDD.map({ name=> car(name, "red", 2010) }).... // works well
到这里为止,它按我想要的方式工作,但下面的代码无法工作或编译。
cars.map({ car=> tf.go( car)}) // it's what I want to do
// other.scala - tf class
import packname.VH // not work
class TF ... {
def go( car: car) // not work
def go( car: VH.car) // not work
}
如何在其他包 class 中使用案例 class 定义?有什么想法吗?谢谢
您的 car
是一个嵌套的 class,它似乎没有必要。把它移到 VH
外面就行了。如果它确实需要嵌套,您将需要一个 VH
实例来使用它,例如
def go(vh: VH)(car: vh.car)