El operador de incremento/decremento pre/post (++
y --
) es una sintaxis del lenguaje de programación bastante estándar (para lenguajes de procedimiento y orientados a objetos, al menos).¿Por qué Ruby no admite i ++ o i-- (operadores de incremento/disminución)?
¿Por qué Ruby no los admite? Entiendo que podría lograr lo mismo con +=
y -=
, pero parece extrañamente arbitrario excluir algo así, especialmente porque es muy conciso y convencional.
Ejemplo:
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
entiendo Fixnum
es inmutable, pero si +=
solo puede instanciar un nuevo Fixnum
y configurarlo, por qué no hacer lo mismo para ++
?
¿La consistencia en las asignaciones que contienen el carácter =
es la única razón para esto, o me falta algo?
código fuente Grep ruby para tales operadores. Si no hay ninguno, a Matz no le gustan. – Eimantas
No puede hacer un preincremento con un operador '+ ='. En C intento usar '++'/'--' solo dentro de los condicionales, prefiriendo para el más literal' + = '/' - = 'en una declaración básica. Probablemente porque aprendí Python (mucho después de C ...) –
¿No hubo una pregunta como esta para Python ayer? – BoltClock