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