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 Fixnumjest niezmienny, ale jeśli +=mogę po prostu zainicjować nowy Fixnumi ustawić go, dlaczego nie zrobić tego samego dla ++?
Czy konsekwencja w przypisaniach zawierających =znak jest jedynym tego powodem, czy czegoś mi brakuje?