Scala Infix类型拼图

Ale*_*ake 2 types scala infix-operator

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

3.*(5)                                        //> res50: Double = 15.0
3*5                                           //> res51: Int(15) = 15
Run Code Online (Sandbox Code Playgroud)

Jer*_*fin 7

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

它几乎肯定标记化而3.*(5)3.,*,(,5,).在3.相当于3.0-一个浮点数.因此,它解析为缀表达式:3.0,*,5(周围多余的括号5).

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