Ruby重载+运算符

时间:2016-03-10 00:02:57

标签: ruby operator-overloading

在ruby中重载运算符的正确方法是什么? 我需要做些什么来重新定义+如何工作? 使用+运算符时,不会调用此函数。

def +(a,b)
 return a * b
end

p 2 + 2 

1 个答案:

答案 0 :(得分:5)

重载运算符是根据第一个操作数的类来解析的,所以如果你想重载简单整数的加法,那么这样的东西应该可以工作:

class Fixnum
  def +(other)
    return self * other
  end
end

我不建议您实际执行此操作,顺便说一句。