Was ist die Motivation für die Bewertung der Scala-Zuweisung als Einheit anstatt des zugewiesenen Werts?

Was ist die Motivation für die Bewertung der Scala-Zuweisung als Einheit anstatt des zugewiesenen Werts?

Ein gängiges Muster bei der E / A-Programmierung ist Folgendes:

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

Aber das ist in Scala nicht möglich, weil ...

bytesRead = in.read(buffer)

.. gibt Unit zurück, nicht den neuen Wert von bytesRead.

Es scheint interessant, eine funktionale Sprache nicht zu verwenden. Ich frage mich, warum es so gemacht wurde?

Antworten auf die Frage(8)

Ihre Antwort auf die Frage