4

我在 Rails/ActiveSupport 中找到了 -@ 运算符的重新定义:

https://github.com/rails/rails/blob/master/activesupport/lib/active_support/duration.rb#L33

你能告诉我这是什么意思吗?

4

3 回答 3

8

-@+@只是一元-和的方法名称+。如果您想重新定义它们,将它们作为方法调用等,这就是您需要引用它们以将它们与二进制-+.

于 2012-08-17T22:11:37.933 回答
5

我认为它定义了当对象被否定时会发生什么,例如:

x = -y

y 对象需要定义一个 -@ 运算符。

于 2012-08-17T21:41:41.390 回答
0

它只是返回一个取反的持续时间对象,其中值被取反,部分的所有值也被取反。

于 2012-08-17T21:41:14.537 回答