前川さんへ
岡田と申します。

最初は不思議に思いますが、補足すると

Ruby では代入は特別な操作で a = 1 というのは a という変数名にたいする操作です。
(ですから再定義できません)

a + 1 というのは a に入っているオブジェクトに対する演算です。
( + 演算子は再定義できます)

a += 1 はa = a + 1 の単なるシンタックスシュガーです。