Scala newbie quiL'aggiunta di spazi all'operatore + in Scala dà risultati diversi?
Cercando
(1). + (2) restituisce un valore Int 3, finora tutto bene
ma
1. + (2) restituisce un valore Double di 3.0 .
Ma se lo si fa
1. + (2) restituisce un valore Int pari a 3.
Nota: l'unica differenza tra questo e il precedente è lo spazio dopo "1"
Gli spazi sono importanti in Scala? Im più curioso di sapere come 1. + (2) ha restituito un Double come sembra aver analizzato 1. come Double e poi ha aggiunto "2" ad esso.
Si colpisce il chiodo sulla testa, '1. + (2)' è un doppio perché '1.' è un doppio e' double + int' restituisce un doppio per preservare la precisione. L'aggiunta di uno spazio dopo il '1' significa che il primo operando di' + 'non viene analizzato come un doppio, quindi l'operazione è' int + int' - restituendo un int. – SubmittedDenied
grazie, era solo confuso/sorprendente che gli spazi potessero avere importanza in scala. – rajasaur
'1.' è un singolo token, quindi mettere sempre uno spazio tra' 1' e '.' avrà sempre importanza. 'val y = sin x' è diverso da' val y = sinx' anche –