我是Scala的初学者。我无法理解下面的Scala表达式:
if(true)
x的初始值为3,执行上面的表达式后,它变为4。
我无法理解{{1}},实际上是什么评估?
答案 0 :(得分:4)
if(true) x else y
将始终执行if分支,因为条件为true
。因此,if表达式的结果将始终为x + 1
。
答案 1 :(得分:1)
向@TillRohrmann致敬,对于我们Scala的新手来说,事情有时并不像经验丰富的程序员那么清晰。以下是我的详细尝试,不仅适用于您,也适用于将来可能会遇到类似问题的其他人。
x = if (true) x+1 else x-1
将您的表达视为
x = function_if ( argument=true ) {
if (argument = true ){
return x+1
}else{
return x-1
}
}
由于参数始终为true
,因此答案始终为x+1
。
希望这有帮助!