我在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中使用空格是否重要?
答案 0 :(得分:2)
在前两种情况下,Scala编译器可能会将=-
解释为运算符,而不是将-
与赋值的右侧相关联。第三个案例在评论中得到了回答。