L'operatore di pre/post incremento/decremento (++
e --
) è una sintassi di linguaggio di programmazione piuttosto standard (per linguaggi procedurali e orientati agli oggetti, almeno).Perché Ruby non supporta i ++ o i-- (operatori di incremento/decremento)?
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 Fixnum
è immutabile, ma se +=
può semplicemente instanciate un nuovo Fixnum
e impostare, perché non fare lo stesso per ++
?
La coerenza negli incarichi contenenti il carattere =
è l'unico motivo per questo oppure mi manca qualcosa?
Codice sorgente ruby grep per tali operatori. Se non ce ne sono, a Matz non piacciono. – Eimantas
Non è possibile eseguire preincrementi con un operatore '+ ='. In C cerco di usare '++'/'--' solo all'interno di condizionali, preferendo il più letterale' + = '/' - = 'in una dichiarazione di base. Probabilmente perché ho imparato Python (molto tempo dopo C però ...) –
Non c'era una domanda come questa per Python solo ieri? – BoltClock