当我覆盖现有方法时,例如
def add(a, b)
a - b
end
我仍然必须使用调用该方法。运算符:some_instance.add(3,2)
但是,如果我覆盖&
或|
运算符,例如
def &(other)
And.new(self, other)
end
然后,我不必使用。运算符,而是可以这样做:
some_instance & some_other_instance
为什么&
和|
太特殊了,而不要求我做类似的事情:
some_instance.&(some_other_instance)