2014-12-23 3 views
1

나는 패키지에 약간의 암시 컨버터를 넣어 노력하고있어 나는 때 너무 :패키지에 암시 적 객체를 배치하는 방법은 무엇입니까?

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 

을하지만 :

나는이 작업을 수행 할 수.

스칼라 패키지의에서 암시 적 객체를 정의하는 표준 방법은 무엇입니까? "._"로 패키지를 가져 오면 호출 코드가 implicits도 가져 오도록 할 수 있습니까?

답변

4

를 사용하여 패키지 개체 :

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

당신이 수입을 배치해야합니까? 패키지 객체 내부 또는 "package xxx"라인 직후의 맨 위? –

+0

일반적으로 스칼라에서는 원하는 위치에 (거의) 가져 오기를 배치 할 수 있습니다. 그들은 당신이 그들을 넣은 블록에 유효합니다. 그러나 범위를 축소 할 이유가 없으면 맨 위에 놓으십시오. –

관련 문제