вопрос о переопределении оператора + в ruby ​​

Недавнее преобразование в 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 ')'
7
задан aosik 30 December 2010 в 19:57
поделиться