Es gibt nicht die leere Liste zurück, es gibt Unit
(ein Zero-Tupel) zurück, das ist Scalas Entsprechung von void
in Java. Wenn es die leere Liste zurückgab, würden Sie sehen, List()
gedruckt auf der Konsole anstelle der ()
(Null-Tupel).
Das Problem ist, dass Sie die falsche Syntax für Ihre get
Methode verwenden. Sie benötigen einen =
, um anzuzeigen, zu verwenden, dass get
einen Wert zurückgibt:
def get() = {
this.queue.head
}
Oder ist dies wahrscheinlich noch besser:
def get = this.queue.head
In Scala Sie in der Regel die Klammern wegzulassen (Parameterliste) für nullary Funktionen das hat keine Nebenwirkungen, aber das erfordert, dass Sie die Klammern bei queue.get
auch ausschalten.
Sie möchten vielleicht einen kurzen Blick auf die Scala Style Guide werfen, speziell die section on methods.
Während Sie lernen, könnte es nützlich sein, explizit mehr Typen als nötig zu schreiben. Wenn Sie in diesem Fall 'def get(): Int {this.queue.head}' geschrieben hätten, hätte der Compiler Ihnen gesagt, dass es ein Problem mit der 'get'-Methode gibt. –