Scala только иногда десугаров
a += b
в
a = a + b
но не всегда. Например, некоторые изменчивые коллекции определяют метод +=
, где вместо этого он становится
a.+=(b)
Это поведение
- полностью определяется, существует ли подходящий метод
+=
наa
? (в том числе есть ли другие примеры такого поведения?) - независимо от того, являются ли объекты val или var?
Соответствующий пример
Адаптировано из программирования в Scala, в
var s = Set("a", "b")
s += "c"
В этом случае вторая строка кода
s += "c"
существенно сокращается:
s = s + "c"