Nehmen wir an, ich def haben, die mehrere Parameter des Typs nimmt:In Scala, ist es möglich, "curry" -Typ Parameter eines def?
def foo[A, B, C](b: B, c: C)(implicit ev: Writer[A])
Allerdings ist die beabsichtigte Verwendung, dass Typ-Parameter B
und C
sollte (auf der Basis der übergebenen in Argumenten) abgeleitet werden. Und der Aufrufer sollte nur explizit A
spezifizieren müssen (z. B. um eine implizite Wahlmöglichkeit durch den Compiler zu haben). Leider erlaubt Scala nur, dass alle oder keine der Typparameter vom Aufrufer spezifiziert werden. In gewissem Sinne möchte ich die Typparameter curried werden:
def foo[A][B, C]...
Gibt es einen Trick, um dies in Scala zu erreichen?
(Wenn mein konkretes Beispiel nicht macht durchaus Sinn, ich bin froh, dass es mit Vorschlägen zu verbessern.)
Sehr gut geschrieben und sehr clever! – Alec