Gli operatori pre / post incremento / decremento ( ++
e --
) sono sintassi del linguaggio di programmazione piuttosto standard (almeno per linguaggi procedurali e orientati agli oggetti).
Perché Ruby non li supporta? Capisco che potresti realizzare la stessa cosa con +=
e -=
, ma sembra stranamente arbitrario escludere qualcosa del genere, soprattutto perché è così conciso e convenzionale.
Esempio:
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
Capisco che Fixnum
è immutabile, ma se è +=
possibile solo istanziare un nuovo Fixnum
e impostarlo, perché non fare lo stesso per ++
?
La coerenza negli incarichi che contengono il =
personaggio è l'unica ragione di ciò o mi sto perdendo qualcosa?
+=
operatore. In CI prova a usare ++
/ --
solo all'interno dei condizionali, preferendo il più letterale +=
/ -=
in un'istruzione di base. Probabilmente perché ho imparato Python (molto tempo dopo C ...)