【发布时间】:2015-07-07 17:51:46
【问题描述】:
显然 scala 不支持 jdk7 及更高版本的数字文字中的下划线?
我正在使用 jdk 8
scala> System.getProperty("java.version")
res0: String = 1.8.0_40
这里我们尝试使用 jdk7(及更高版本)数字文字:
scala> val x = 1_000_000
<console>:1: error: Invalid literal number
val x = 1_000_000
^
这有 scala 语言选项吗?
【问题讨论】:
-
这是
javac的事情。没有理由认为scalac会支持它。很少有 Java 语法是有效的 Scala。 -
上周有a long [scala-debate] thread 讨论过这个问题。简短的回答:不,没有,但这可能有一天会在 Scala 中提供,同时有很多方法可以在没有太多语法噪音的情况下获得类似的东西。
-
@BoristheSpider Scala 在文字语法方面实际上非常接近 Java,因此期望它在这里支持下划线并非不合理。
-
@TravisBrown 随意根据您的评论做出回答,我会奖励
-
@TravisBrown 每天只吃一个答案,已经吃饱了。这提醒了我,我必须赶上特拉维斯布朗的答案。如果 Travis 在 Hulu 上会更容易。我永远不会错过任何一集。