응용 프로그램 펑크 (Monad to catch multiple exceptions (not just fail on single))를 사용하여 유효성 검사를 시도 할 때 14 명 이상의 펑터를 허용하지 않는 스카 츠에서 하드 한도가 발생 했으므로 여기서 도움이되는 설명 (https://github.com/scalaz/scalaz/issues/504#issuecomment-23626237)으로 이동했습니다. HLists 대신 지금은 완벽하게 잘 작동 실용적 펑HList에서 사례 클래스에 검증 적용
를 사용 (수동 때문에 여기에서이 시퀀스 파일에 넣어 필요 후이 아니 받는다는 https://github.com/typelevel/shapeless-contrib/blob/master/scalaz/main/scala/sequence.scala?source=c에서)
, 어떻게 내 질문은, 나는 이것이 가능 알고 수동으로 패턴을 케이스와 일치시킬 필요없이 case class Foo(i:Int,s:String)
을 자동으로 인스턴스화하는 방법에 대해 살펴 보겠다. 가 필요하므로, successNel
에 대한 형식 매개 변수는 오류 유형이 아닌 성공 유형 : 그냥 다시
을 매개 변수를 다시 적용 단지에 기본적으로 나는 작은 점에 대해이
case class Foo(i:Int,s:String)
implicit def TwoFoo = Iso.hlist(Foo.apply _, Foo.unapply _)
val someFoo = sequence(
1.successNel[Int] ::
"2".successNel[String] ::
HNil
).map { Foo.apply _} // Note this doesn't work
someFoo match {
case Success(a) => println(a)
case Failure(a) => {
println("failure")
println(a)
}
}
위 항목을 컴파일하려면 가져 오기를 추가 할 수 있습니까? –