¿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í?