1
J'ai une classe comme ceci:Ruby Redéfinition Opérateur
class MyObject
cattr_accessor :value_ # Note the `cattr_accessor` as opposed to `attr_accessor`.
def +(right_)
self.value_ + right_.value_
end
end
Je veux être en mesure de faire quelque chose comme ceci:
x = MyObject.new
y = MyObject.new
x.value_ = 1
y.value_ = 2
puts x + y
Il ne fonctionne pas bien.
Voulez-vous que 'value_' soit une variable de classe ou d'instance? '+ 'fonctionne comme s'il s'agissait d'une variable d'instance. –
variable de classe. Je vois où le problème pourrait être maintenant. Mais j'aimerais voir ta solution. – Dex
Si vous souhaitez que chaque instance ait une valeur distincte, vous devez utiliser 'attr_accessor'. – jtbandes