J'aimerais créer deux opérateurs unary-postfix. !
y !!
pour la classe Numeric
en ruby. Je l'ai défini comme ceci jusqu'à présent
class Numeric
def !
(1..self).inject(:*)
end
def !!
if self.even?
(2..self).step(2).inject(:*)
else
(1..self).step(2).inject(:*)
end
end
end
Cependant, cela signifie que je dois appeler 5.!
y 5.!!
. Je sais que vous pouvez définir des opérateurs préfixes unaires tels que +@
y -@
mais je me demandais si je pouvais définir un opérateur postfixe unaire afin de pouvoir appeler 5!
y 5!!
au lieu de 5.!
y 5.!!
.