Nehmen Sie das folgende Merkmal an:
%Vor%Ich verwende einen abstrakten Typ, weil ich nicht jedes Mal, wenn ich ein A brauche, in der Typ-Signatur um das B ziehen möchte. Ist es noch möglich, einen impliziten Beweis (using =: =, & lt;: & lt; usw.) zu der + -Methode hinzuzufügen, so dass der Compiler immer noch die Akzeptanz eines: A's mit identischen B's erzwingen kann?
Mein erster Instinkt ist, nein zu sagen, aber Scala hat mich zuvor angenehm überrascht. Jede Hilfe wäre willkommen.
Sie brauchen keine impliziten Beweise ... Sie können eine explizite Verfeinerung verwenden,
%Vor%(Beachten Sie die Verwendung einer Annotation vom Typ "Selbst", um einen Alias für das äußere "Dies" anzugeben, damit die definierten und definierenden B in der Definition des Typs Self unterschieden werden können.)
REPL-Transkript,
%Vor%Tags und Links scala