1

我正在从 Scala 2.9 迁移到 Scala 2.11.0-M5。

使用常量浮点文字进行双字段初始化失败。

代码示例:

class Test {
  val okDouble = 0.0
  val badDouble = 0.
  val nextValue = 0
}

Scala 解释器错误:

scala> class Test {
     |   val okDouble = 0.0
     |   val badDouble = 0.
     |   val nextValue = 0
<console>:4: error: identifier expected but 'val' found.
         val nextValue = 0

这里的问题是 badDouble 定义末尾的点。

现在应该总是将 0.0 用于双文字吗?

4

1 回答 1

1

以点结尾的双字面值在 Scala 2.10 中被弃用,并在 Scala 2.11 中从语言中移除:

Welcome to Scala version 2.10.3 (Java HotSpot(TM) 64-Bit Server VM, Java 1.7.0_45).

scala> 3.
<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.
       3.
       ^
于 2013-11-29T15:29:25.780 回答