Increment (++) operator in Scala

adelarsq picture adelarsq · Oct 22, 2010 · Viewed 46.9k times · Source

Is there any reason for Scala not support the ++ operator to increment primitive types by default? For example, you can not write:

var i=0
i++

Thanks

Answer

pkaeding picture pkaeding · Oct 22, 2010

My guess is this was omitted because it would only work for mutable variables, and it would not make sense for immutable values. Perhaps it was decided that the ++ operator doesn't scream assignment, so including it may lead to mistakes with regard to whether or not you are mutating the variable.

I feel that something like this is safe to do (on one line):

i++

but this would be a bad practice (in any language):

var x = i++

You don't want to mix assignment statements and side effects/mutation.