最近转换到 Ruby 这里。以下问题并不实际;这更像是一个关于 Ruby 内部如何工作的问题。是否可以覆盖标准加法运算符以接受多个输入?我假设答案是否定的,因为加法运算符是标准运算符,但我想确保我没有遗漏任何东西。
以下是我快速编写的代码以验证我的想法。请注意,这完全是微不足道的/做作的。
class Point
attr_accessor :x, :y
def initialize(x,y)
@x, @y = x, y
end
def +(x,y)
@x += x
@y += y
end
def to_s
"(#{@x}, #{@y})"
end
end
pt1 = Point.new(0,0)
pt1 + (1,1) # syntax error, unexpected ',', expecting ')'