【发布时间】:2012-06-21 20:49:51
【问题描述】:
所以,我正在尝试为 Ruby 类定义运算符 + 和 +=,然后尝试:
class A
def +(x)
end
def +=(x)
end
end
Ruby 喜欢 + 但不喜欢 +=,给我这个错误:
语法错误,意外 '=',期待 ';'或'\n'
我做错了什么?
【问题讨论】:
-
a += b===a = a + b,不是吗? -
语义上,是的。 Ruby(1.9.3,顺便说一句)不喜欢运算符方法语法,但是,我认为这是可以接受的,就像为 Fixnums、Strings 和 Arrays 定义的那样。
-
@xuinkrbin。这些类中的任何一个或 Ruby 中的任何类都没有
+=方法。