如何在包中放置隐式对象?

时间:2014-12-23 17:10:13

标签: scala

我正在尝试在包中放入一些隐式转换器,以便在I:

import packagename._

它也会导入隐式对象。

目前,我只使用对象而不是包:

object Quote {
  case class Quote(symbol: String, price: Int, time: Date)
  implicit val format = Json.format [Quote]
}

但是,这只是感觉不对,例如我无法在多个文件上拆分对象定义。

我想这样做:

package Quote

case class Quote(symbol: String, price: Int, time: Date)
implicit val format = Json.format [Quote] // this isn't allowed

但是,这是不允许的。

在包中的Scala 中定义隐式对象的标准方法是什么,这样当使用“._”导入包时,调用代码也会导入implicits?

1 个答案:

答案 0 :(得分:4)

使用包对象:

package object packagename {
  case class Quote(symbol: String, price: Int, time: Date)
  implicit val format = Json.format [Quote]
}