Scala中的奇怪错误和输出

时间:2015-04-11 02:45:25

标签: scala

我在Scala中有以下代码:

var i: Int = 0
var sum: Int = 0

for(i<- 1 to 10)
{
    sum= sum+1  
}
println(sum)

虽然它是初级的但我注意到如果你写

sum=-sum+1

它会产生错误。

另外,如果你写

sum=-(sum+1)

它也会产生错误

sum= -(sum+1)

产生零。为什么为零?

例如,这在C ++中不会发生,我发现它很奇怪。发生了什么,为什么?在Scala中使用空格是否重要?

1 个答案:

答案 0 :(得分:2)

在前两种情况下,Scala编译器可能会将=-解释为运算符,而不是将-与赋值的右侧相关联。第三个案例在评论中得到了回答。