可能的重复:
Scala 运算符怪异
我对 Scala 很陌生,我读到在这种语言中,一切都是对象,很酷。此外,如果一个方法只有 1 个参数,那么我们可以省略 '.' 和双亲'()',没关系。
因此,如果我们采用以下 Scala 示例:3 + 2
'3' 和 '2' 是两个Int
Objects 并且 '+' 是一个方法,听起来不错。然后3 + 2
只是 的简写3.+(2)
,这看起来很奇怪,但我还是明白了。
现在让我们比较以下代码块REPL
:
scala> 3 + 2
res0: Int = 5
scala> 3.+(2)
res1: Double = 5.0
这里发生了什么?为什么显式语法返回 aDouble
而简写返回一个Int
??