Ich lerne formlos und verweisend ein Tutorial von here. Welche sagtScala Shapeless - Iterieren/lesen jedes Element von Generic.Repr oder konvertieren es zu HList
Generisches eine einfache Art und Weise ist Fall-Klasse und Produktarten (wie Tupel) zu hList und umgekehrt zu konvertieren:
import shapeless.Generic
case class UserWithAge(name: String, age: Int)
val gen = Generic[UserWithAge]
val u = UserWithAge("Julien", 30)
val h = gen.to(u)
Nun, wenn ich h
drucken, ich wird Julien :: 30 :: HNil
erhalten. Aber ich kann nicht jedes Element von h
wie h.head
, h.tail
wird nicht funktionieren, und es gibt keine Methoden in h
. Hier ist h
der Typ gen.Repr
und ich konnte keinen Weg finden, es in HList
entweder zu konvertieren. Also, wie kann ich jedes Element von h
lesen?
Der von Ihnen angegebene Code vermittelt wahrscheinlich nicht das Problem, das Sie haben. Weil in diesem Code 'h.head' und' h.tail' gut funktionieren. –
Ich habe versucht intellijide statt repl, die zeigen, "kann Symbol Kopf nicht auflösen", wenn ich h.head. Es hat sich jedoch gut gehalten. Vielleicht ist es das Problem mit Ide. Danke, dass du es aufgezeigt hast. :) –
Oh ja, dann ist es wahrscheinlich nur die IDE, die Probleme mit Implicits und Makros hat. –