println в Scala с использованием Intellij показывает странное поведение

Я пишу небольшую программу в scala, которая будет имитировать практику врачей. Одним из требований является то, что пользователь может назначить консультации с врачом. Я реализовал решение, которое дает вам объект консультации в случае успеха, а также печатает сообщение о том, что действие было успешным.

Вот где появляется небольшая "ошибка" (более незначительная, но раздражающая неудобство). Когда я говорю своей рабочей таблице scala создать новую переменную следующим образом:

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

Ну, это прекрасно работает, НО сообщение о том, что оно должно быть напечатано, печатается в верхней части окна вывода, а не в той точке на рабочем листе, где фактически была создана переменная. Кто-нибудь знает решение для этого?

Заранее спасибо.

1 ответ

Это не ошибка, а ожидаемое поведение. println в вашем makeConsultation Функция является побочным эффектом, который не имеет ничего общего с созданием Consultation,

Вы можете использовать систему типов Scala (проверьте Option или же Try) представлять это makeConsultation может потерпеть неудачу.

Другие вопросы по тегам