1
我有这样一个类:红宝石重写操作
class MyObject
cattr_accessor :value_ # Note the `cattr_accessor` as opposed to `attr_accessor`.
def +(right_)
self.value_ + right_.value_
end
end
我希望能够做这样的事情:
x = MyObject.new
y = MyObject.new
x.value_ = 1
y.value_ = 2
puts x + y
它不工作,虽然。
你想让'value_'成为类或实例变量吗? '+'的工作方式就好像它是一个实例变量。 – 2010-08-07 07:18:55
类变量。我看到现在问题可能在哪里。但我希望看到您的解决方案。 – Dex 2010-08-07 07:27:09
如果您希望每个实例都具有单独的值,则需要使用'attr_accessor'。 – jtbandes 2010-08-07 07:37:55