¿Cuál es la motivación para la evaluación de la asignación de Scala a la Unidad en lugar del valor asignado?

¿Cuál es la motivación para la evaluación de la asignación de Scala a la Unidad en lugar del valor asignado?

Un patrón común en la programación de E / S es hacer cosas como esta:

while ((bytesRead = in.read(buffer)) != -1) { ...

Pero esto no es posible en Scala porque ...

bytesRead = in.read(buffer)

.. devuelve Unit, no el nuevo valor de bytesRead.

Parece una cosa interesante dejar fuera de un lenguaje funcional. Me pregunto por qué se hizo así?

Respuestas a la pregunta(8)

Su respuesta a la pregunta