2010-08-07 174 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。