我知道前缀和中缀是等效的。为什么以下给出不同类型的答案?
3.*(5) //> res50: Double = 15.0
3*5 //> res51: Int(15) = 15
最佳答案
我猜这里发生的事情与中缀和前缀无关。
几乎可以肯定地将3.*(5)
标记为3.
,*
,(
,5
,)
。 3.
等效于3.0
-浮点数。因此,它被解析为中缀表达式:3.0
,*
,5
(5
周围有多余的括号)。
由于3.0
是浮点数,因此结果也是浮点数。