2015-01-11 5 views
0

나는 모험가의 빠른 시작에서이 간단한 예제를 시도하고있다 :Argonaut casecodec3?

case class Address(street: String, number: Int, postcode: Int) 

object Address { 
    // Define codecs easily from case classes 
    implicit def AddressCodecJson: CodecJson[Address] = 
    casecodec3(Address.apply, Address.unapply)("street", "number", "post_code") 
} 

내가 casecodec3에 컴파일 오류를 받고 있어요. 나는 argonaut와 scalaz repos를 복제하고 소스를 grepped했고, 나는 그것을 단지 예제 코드에서 볼 수있다. 그 상징은 어디에서 왔으며 왜 그것을 사용할 수 없습니까? 당신의 수입은 다음 순서에있는 경우

답변

1

는 작업을해야한다 :

import argonaut._, Argonaut._ 
case class Address(street: String, number: Int, postcode: Int) 

object Address { 
    implicit def AddressCodecJson: CodecJson[Address] = 
    casecodec3(Address.apply, Address.unapply)("street", "number", "post_code") 
} 

을 REPL에서 당신은 GitHub의에서 소스를 볼 수 없습니다 붙여 넣기 모드를

scala> :paste 
// Entering paste mode (ctrl-D to finish) 

import argonaut._, Argonaut._ 
case class Address(street: String, number: Int, postcode: Int) 

object Address { 
    implicit def AddressCodecJson: CodecJson[Address] = 
    casecodec3(Address.apply, Address.unapply)("street", "number", "post_code") 
} 

// Exiting paste mode, now interpreting. 

defined class Address 
defined object Address 

를 입력해야합니다 만드는 때문에 소스는 여기에 빌드 된대로 정의 된대로 GeneratedCodecJsons.scala으로 생성됩니다. https://github.com/argonaut-io/argonaut/blob/master/project/Boilerplate.scala

+0

감사합니다. 나는 문제를 일으키는 이름 충돌을 일으킨'Argonaut'라는 이름의 커스텀 싱글 톤 객체를 정의했다. – clay