Ich beginne mit der Arbeit mit formlosen, und als Beweis des Konzepts, ich definierte Funktion für Hlist konvertieren, um Karte, aber etwas schief gelaufen ist, können Sie mir bitte helfen?Konvertieren HList Karte mit stupless
object bar extends Poly1 {
implicit def caseTuple[T, U](implicit st: Case.Aux[T, Map[String, Any]], su: Case.Aux[U, Map[String, Any]]) =
at[(T, U)](t => {
Map(s"${t._1}" -> t._2)
})
}
object foo extends Poly2 {
implicit def default[T](implicit st: bar.Case.Aux[T, Map[String, Any]]) =
at[Map[String, Any], T] { (acc, t) =>
acC++ bar(t)
}
}
val h = ("k1", 1) :: ("k2", "foo") :: HNil
println(h.foldLeft(Map.empty[String, Any])(foo))
Aber ich habe Fehler: could not find implicit value for parameter folder: shapeless.ops.hlist.LeftFolder[shapeless.::[(String, Int),shapeless.::[(String, String),shapeless.HNil]],scala.collection.immutable.Map[String,Any],Main.foo.type] [error] println(h.foldLeft(Map.empty[String, Any])(foo))