Недавнее преобразование в 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 ')'