Mit einer polymorphen Funktion ein Objekt aus Options extrahieren
In der Dokumentation zu Shapeless wird erläutert, wie mit polymorphen Funktionen eine Funktion erstellt wird, mit der Objekte in einer Art Container einer anderen zugeordnet werde
Ich habe eine Liste mit Optionen
val options = Some(1) :: Some("A") :: Some(3.5) :: HNil
Ich möchte eine polymorphe Funktion, die den Inhalt jeder der Optionen extrahieren kann.
// This is incorrect:
object uuu extends (Option ~> Any) {
def apply[T](l:Option[T]):T = {
l.get
}
}
Wenn diese Funktion korrekt ist, möchte ich folgendes Verhalten:
options.map(uuu) // I want: 1 :: "A" :: 3.5 :: HNil
Wie kann ich das korrigieren, damit meine polymorphe Funktion tatsächlich funktioniert?