4
내가 두 HLists에서 "비어 있지 않은"값을 선택하는 무형의 사용하려고
: 내가 제공해야 제대로 이해하고 내가 암시 매퍼 누락에 오류가매핑
import shapeless.{ HNil, Poly2}
object choose extends Poly2 {
implicit def caseInt =
at[Int,Int]{
case (_,n) if n > 0 => n
case (o,_) => o
}
implicit def caseString =
at[String,String] {
case (_,n) if n.nonEmpty => n
case(o,_) => o
}
}
val g = "a" :: "" :: 0 :: HNil
val h = "" :: "a" :: 5 :: HNil
g.zip(h).map(choose)
map
이 Poly1
아닌 Poly2
취 증명 우편의 결과가 매핑 가능한하지만 난 당신이 매우 가까운,하지만 choose
의 정의는 약간 잘못