Qual é a motivação para a atribuição de Scala que avalia a unidade em vez do valor atribuído?
Qual é a motivação para a atribuição de Scala que avalia a unidade em vez do valor atribuído?
Um padrão comum na programação de E / S é fazer coisas assim:
while ((bytesRead = in.read(buffer)) != -1) { ...
Mas isso não é possível no Scala porque ...
bytesRead = in.read(buffer)
.. retorna Unit, não o novo valor de bytesRead.
Parece uma coisa interessante para deixar de fora de uma linguagem funcional. Eu estou querendo saber porque foi feito assim?