在ruby中重载运算符的正确方法是什么? 我需要做些什么来重新定义+如何工作? 使用+运算符时,不会调用此函数。
def +(a,b)
return a * b
end
p 2 + 2
答案 0 :(得分:5)
重载运算符是根据第一个操作数的类来解析的,所以如果你想重载简单整数的加法,那么这样的东西应该可以工作:
class Fixnum
def +(other)
return self * other
end
end
我不建议您实际执行此操作,顺便说一句。