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 ')'