Scala novato aquíAgregar espacios al operador + en Scala da resultados diferentes?
Tratando
(1). + (2) devuelve un valor int de 3, hasta ahora tan bueno
pero
1. + (2) devuelve un valor doble del 3,0 .
Pero si lo haces
1. + (2) devuelve un valor Int de 3.
Nota: La única diferencia entre esto y el anterior es el espacio después del "1"
¿Los espacios importan en Scala? Tengo más curiosidad sobre cómo 1. + (2) devolvió un doble ya que parece que analizó 1. como un doble y luego agregó "2" a él.
Golpeas el clavo en la cabeza, '1. + (2)' es un doble porque '1.' es un doble y' double + int' devuelve un doble para conservar la precisión. La adición de un espacio después del '1' significa que el primer operando a' + 'no se analiza como un doble, por lo que la operación es' int + int' - devolviendo un int. – SubmittedDenied
gracias, era simplemente confuso/sorprendente que los espacios pudieran importar en Scala. – rajasaur
'1.' es un token único, por lo que poner un espacio entre el' 1' y el '.' siempre será importante. 'val y = sin x' es diferente de' val y = sinx' también –