前置/後置インクリメント/デクリメント演算子(++
および--
)は、かなり標準的なプログラミング言語構文です(少なくとも、手続き型言語とオブジェクト指向言語では)。
Rubyがそれらをサポートしないのはなぜですか?+=
and -=
で同じことを達成できると思いますが、特にそのように簡潔で慣習的であるため、そのようなものを除外することは奇妙に恣意的に思えます。
例:
i = 0 #=> 0
i += 1 #=> 1
i #=> 1
i++ #=> expect 2, but as far as I can tell,
#=> irb ignores the second + and waits for a second number to add to i
私Fixnum
は不変であると理解していますが+=
、新しいインスタンスを作成してFixnum
設定できるのであれば、同じことをしてみません++
か?
=
文字を含む割り当ての一貫性がこれの唯一の理由ですか、それとも何か不足していますか?
+=
演算子でプリインクリメントすることはできません。CI では、基本的なステートメントでよりリテラルの/ を優先して、条件文の内部でのみ++
/ を使用してみてください。たぶん私はPythonを習ったから(Cの後ずっと...)--
+=
-=