问题
If I have a Shapeless HMap[MappingA]
(with implicits properly defined for the type MappingA[K, V]
), can I type-safely transform/map it to a HMap[MappingB]
.
class MappingA[K, V]
implicit val intToString = new MappingA[Int, String]
implicit val stringToInt = new MappingA[String, Int]
class MappingB[K, V]
implicit val longToString = new MappingA[Long, String]
implicit val stringToLong = new MappingA[String, Long]
val hm1 = HMap[MappingA](1 -> "one", "two" -> 2)
// How to...
val hm2: HMap[MappingB] = ??? // transform/map hm1
// expected for hm2 in this basic example
// HMap[MappingB](1L -> "one", "two" -> 2L)
来源:https://stackoverflow.com/questions/29647245/is-it-possible-to-transform-a-hmap-into-another-hmap