Scala Infix类型拼图

时间:2014-05-17 21:41:49

标签: scala types infix-operator

我已经明白前缀和中缀是等价的。为什么以下提供不同类型的答案?

3.*(5)                                        //> res50: Double = 15.0
3*5                                           //> res51: Int(15) = 15

1 个答案:

答案 0 :(得分:7)

我猜这里发生的事情与中缀与前缀无关。

几乎可以肯定将3.*(5)标记为3.*(5)3.相当于3.0 - 浮点数。因此,它被解析为中缀表达式:3.0*55周围有冗余的parens)。

由于3.0是浮点数,因此结果也是浮点数。