Operator inkrementacji / dekrementacji pre / post ( ++
i --
) jest dość standardową składnią języka programowania (przynajmniej dla języków proceduralnych i obiektowych).
Dlaczego Ruby ich nie obsługuje? Rozumiem, że możesz osiągnąć to samo za pomocą +=
i -=
, ale wykluczenie czegoś takiego wydaje się dziwnie arbitralne, zwłaszcza że jest tak zwięzłe i konwencjonalne.
Przykład:
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
Rozumiem, że Fixnum
jest niezmienny, ale jeśli +=
mogę po prostu zainicjować nowy Fixnum
i ustawić go, dlaczego nie zrobić tego samego dla ++
?
Czy konsekwencja w przypisaniach zawierających =
znak jest jedynym tego powodem, czy czegoś mi brakuje?