我已经明白前缀和中缀是等价的。为什么以下提供不同类型的答案?
3.*(5) //> res50: Double = 15.0
3*5 //> res51: Int(15) = 15
答案 0 :(得分:7)
我猜这里发生的事情与中缀与前缀无关。
几乎可以肯定将3.*(5)
标记为3.
,*
,(
,5
,)
。 3.
相当于3.0
- 浮点数。因此,它被解析为中缀表达式:3.0
,*
,5
(5
周围有冗余的parens)。
由于3.0
是浮点数,因此结果也是浮点数。