代码之家  ›  专栏  ›  技术社区  ›  Dex

Ruby重写运算符

  •  1
  • Dex  · 技术社区  · 14 年前

    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
    

    但它不起作用。

    1 回复  |  直到 13 年前
        1
  •  0
  •   Dex    14 年前

    我的方法使用attr\u访问器。