Ich versuche gerade zu lernen, wie man Scala benutzt, aber ich bin mit einigen Syntaxproblemen fest.Typ stimmt nicht überein wenn + Operator
Wenn ich schreibe in der scala prompt:
import scala.collection.immutable._
var q = Queue[Int](1)
println((q+1).toString)
Ich erhalte die folgende Fehlermeldung:
<console>:12: error: type mismatch;
found : Int(1)
required: String
println((q+1).toString)
Ich wollte nur die überladenen + verwenden, Betreiber der Warteschlange wie folgt definiert:
def +[B >: A](elem : B) : Queue[B] Creates a new queue with element added at the end of the old queue. Parameters elem - the element to insert
Aber es scheint, dass scala eine String-Verkettung tut. Kannst du mir helfen zu verstehen, wie man ein Element zur Warteschlange hinzufügt (ohne Enqueue zu verwenden, das perfekt funktioniert; ich möchte den Operator + verwenden)? Und vielleicht, könnten Sie mir etwas über dieses Verhalten erzählen, das für einen Anfänger etwas seltsam erscheint?
Danke
Woher haben Sie diese Definition? Es steht im Widerspruch zur aktuellen Dokumentation –
Diese Methode stammt von einer alten Version von Scala. Es wurde in 2.9 entfernt. Verwenden Sie neuere Dokumentation. – Kolmar
Vielen Dank. Google gab http://www.scala-lang.org/api/2.5.0/scala/collection/immutable/Queue.html als zweites Ergebnis für "scala queue immutable" an. Ich war nicht so vorsichtig und ich habe nicht bemerkt, dass es für Version 2.5 war. Ich habe die Macht der Google-Suchmaschine überschätzt :) –