我最近开始玩Scala(2.8),并注意到我可以写下面的代码(在Scala Interpreter中):
scala> var x : Unit = 10 x : Unit = ()
这不是很明显的。我真的没想到会看到任何隐含的转换到单位。
解决方法
参见
Scala Language Specification版本2.8中的“6.26.1价值转换”一节:
…
价值放弃。如果e具有一些值类型,并且期望类型是Unit,则e被转换
通过将其嵌入到术语{e; ()}。
…