Ist es möglich, einen Parameter x in einer Methode zu definieren, so dass der Typ von x ist ein generischer Typ T
, die eine bestimmte Funktion Signatur implementiert (sagen wir def apply() : Double
), ohne Einführung einer neuer Typ?Scala und Typ gebunden mit einer bestimmten Operation
[Beispiel] Das Ziel ist, wie etwas zu definieren (ich eine Ad-hoc-Syntax verwenden nur zum Zweck der Illustration):
def foo(x : T with def apply() : Double) = { ... }
Derzeit konnte ich eine neue Art einführen ApplyDouble
, aber das erfordern würde mir alle möglichen Arten, deren Instanzen sind rechtliche Rahmenbedingungen zu ‚foo‘ erstreckt, und Unterschrift würde die foo dann in
def foo(x : ApplyDouble) = { ... }
Danke. Genau das habe ich gesucht;) – leco