Ответ 1
Синтаксис для научной нотации Scala - это число с плавающей запятой, за которым следует e
(или e
) и показатель экспоненты. Проблема, которую вы видите, - это изменение того, что считается числом с плавающей запятой, и не имеет ничего общего с синтаксисом для научной нотации (хотя это и способствует запутыванию сообщения об ошибке).
Вы можете подтвердить это, включив 2.10.4 REPL при включенном -deprecation
:
scala> val x = 1.
<console>:1: warning: This lexical syntax is deprecated. From scala 2.11, a dot
will only be considered part of a number if it is immediately followed
by a digit.
val x = 1.
^
И, конечно, в 2.11 это просто не будет компилироваться вообще.
Вы можете сделать то же самое, написав либо 1e-150
, либо 1.0e-150
, оба из которых будут работать либо в 2.10, либо в версии 2.11.