Lasst uns sagen, ich habeleite neue Art von Fall-Klasse Shapeless
case class User(id: Long, name: String, age: Long, email: Option[String])
Gibt es eine Weise, die ich schaffen kann sagen lassen
type UpdateUser = ???.???[User] // update user has same fields as User except all are optional
, die ich dann als
UpdateUser(name = Some("foo"), email = Some("[email protected]"))
verwenden können
also grundsätzlich Mapping-Typen
Long :: String :: Long :: Option[String]
->
Option[Long] :: Option[String] :: Option[Long] :: Option[String]
Also noch einmal Frage ist, ist es so (d. H. formlos verwenden), um eine solche abgeleitete Fallklasse mit solchen Feldern zu erzeugen (ohne dazu ein Makro zu schreiben.)
Fallklassen sind nur HLists. Können wir einen neuen Typ basierend auf einer bestimmten Art von HList erstellen?
Mögliche Duplikate von http://stackoverflow.com/questions/12705309/scala-case-class-inheritance –
.... was ist die Frage hier? –
Es ist kein Duplikat davon. Die Frage ist, ob und wie wir bei Verwendung von Shapeless eine neue Fallklasse ableiten können, ohne explizit ein Makro zu schreiben. Ich denke, dass das Abstimmen nicht gerechtfertigt ist. – fromscalatohaskell