2017-12-31 29 views
2

Ich schreibe ein kleines Programm in Scala, das eine Arztpraxis simulieren würde. Eine der Anforderungen besteht darin, dass ein Benutzer Konsultationen mit einem Arzt durchführen kann. Ich habe eine Lösung implementiert, die Ihnen das Konsultationsobjekt zur Verfügung stellt, wenn Sie erfolgreich sind, und gibt auch eine Nachricht aus, die besagt, dass die Aktion erfolgreich war. Dieseprintln in scala mit Intellij zeigt seltsames Verhalten

ist, wo ein wenig „Bug“ (mehr eine kleine, aber ärgerliche inconveniece) erscheint. Wenn ich meine scala Arbeitsblatt sagen eine neue Variable wie so zu machen:

var consultation: Consultation = patient.makeConsultation(x, y, z) 

Gut, das funktioniert perfekt, aber die Botschaft, die sie drucken ist an der Oberseite des Ausgabefensters gedruckt sollten und nicht an dem Punkt, in dem Arbeitsblatt waren Die Variable wird tatsächlich erstellt. Kennt jemand eine Lösung dafür?

Vielen Dank im Voraus.

Antwort

1

Dies ist kein Fehler, sondern das erwartete Verhalten. Die println in Ihrer makeConsultation Funktion ist ein Nebeneffekt, die nichts mit der Schaffung von Consultation zu tun hat.

Sie können das Scala-System (überprüfen Sie Option oder Try) verwenden, um anzuzeigen, dass makeConsultation fehlschlagen könnte.

+0

Vielen Dank! Ich werde diese nachschlagen. – Willem

+0

@ Willem Sie sind willkommen. Vielleicht versuchen Sie, es mit diesen Typen zu implementieren und eine neue Frage im Falle von Problemen zu öffnen. Wenn es Ihre Frage beantwortet, können Sie die Antwort aufheben/akzeptieren. – Sebastian