一个最近学习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 ')'