Ich habe Schwierigkeiten, scalas Typgrenzen zu verstehen. Was ich versuche, ist eine Halterklasse zu erstellen, die Elemente vom Typ T enthält, die über Elemente vom Typ A iterieren können. Was ich bisher habe, ist:
%Vor% Die Klasse selbst kompiliert erfolgreich, aber der Versuch, den hello
-Wert zu erstellen, gibt mir diesen Fehler:
Ich hätte erwartet, dass hello
in diesem Fall als HasIterable[String, Char]
aufgelöst wird. Wie ist dieses Problem gelöst?
String
selbst ist kein Untertyp von Iterable[Char]
, aber sein Zuhälter , WrappedString
, ist. Damit Ihre Definition implizite Conversions verwenden können, müssen Sie eine Anzeige gebunden verwenden ( <%
) anstelle eines oberen Typs gebunden ( <:
):
Jetzt wird dein Beispiel funktionieren:
%Vor%Tags und Links scala type-systems type-parameter