2010-08-07 105 views
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 

它不工作,虽然。

+0

你想让'value_'成为类或实例变量吗? '+'的工作方式就好像它是一个实例变量。 – 2010-08-07 07:18:55

+0

类变量。我看到现在问题可能在哪里。但我希望看到您的解决方案。 – Dex 2010-08-07 07:27:09

+0

如果您希望每个实例都具有单独的值,则需要使用'attr_accessor'。 – jtbandes 2010-08-07 07:37:55

回答

0

我的方法适用于attr_accessor。