Wie kann ich das schaffen? Meine Aufgabe ist ein wenig komplizierter, aber es läuft darauf hinaus, diese nach unten:Scala automatische Art Rückschluss in polymorphe Funktionen
object Z {
class B extends Function1[Int, Int] {
def apply(i: Int): Int = i
}
def compose[T <: Function1[X, X], X](fcts: List[T]): Function1[X, X] = {
fcts.reduce(_ andThen _)
}
def test() = {
val fcts = List.empty[B]
// Unspecified type parameter X
val composed: Function1[Int, Int] = compose[B](fcts)
}
}
Ich weiß nicht, wie die „komponiert“ Funktion definieren zu können, einige konkrete Klasse B empfangen und automatisch schließen, die abhängige Typen X
Sicher ist es eine Lösung .. Nicht ganz was ich aber gerne gehabt hätte .. Keine anderen Optionen mit forSome oder anderen Scala Tricks? Die Sache ist, meine Komposition erhält nicht genau eine Liste [B] (oder eine Liste von Funktion1]) .. es ist ein bisschen komplizierter als das .. –
@MichelLemay Sie könnten etwas anderes in einem anderen Fall tun , aber in diesem Fall sehe ich keinen Ausweg aus dem Mangel an Typinferenz. –