Scala:如何通过if-else为现有的int添加值?

时间:2015-10-16 17:03:41

标签: scala

为什么这会导致IntelliJ说出Cannot resolve symbol +=

var num: Int = 1
num += if (true) 1 else 2

这会导致Cannot resolve symbol +

var num: Int = 1
num = num + if (true) 1 else 2

但这样可以吗?

var num: Int = 1
num += 2

如何将非硬编码值添加到现有的int变量?

(也不适用于val num

1 个答案:

答案 0 :(得分:6)

您需要在大括号中包含if-else语句:

num += (if (true) 1 else 2)

否则Scala编译器会尝试将第一个令牌(if)解释为Int,但它是String,因此编译失败。