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?