Pythondefines使用方法__radd__
、__rsub__
等的左右运算符。
鲁比有类似的东西吗?
class N32
def +( other )
2
end
end
a = N32.new
a + 3 # return 2
3 + a # return error N32 can't be coerced into Fixnum
最佳答案
类需要一个coerce
方法才能工作:
class N32
def +( other )
2
end
def coerce(other)
[self, other]
end
end
a = N32.new
a + 3 # return 2
3 + a # return 2