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