【发布时间】:2012-08-08 05:07:35
【问题描述】:
我对 Scala 很陌生,我读到在这种语言中,一切都是对象,很酷。此外,如果一个方法只有 1 个参数,那么我们可以省略 '.'和双亲'()',没关系。
因此,如果我们采用以下 Scala 示例:3 + 2,“3”和“2”是两个 Int 对象,“+”是一个方法,听起来不错。然后3 + 2 只是3.+(2) 的简写,这看起来很奇怪,但我还是明白了。
现在让我们比较REPL上的以下代码块:
scala> 3 + 2
res0: Int = 5
scala> 3.+(2)
res1: Double = 5.0
这里发生了什么?为什么显式语法返回Double,而简写返回Int??
【问题讨论】:
标签: scala operators arithmetic-expressions