什么 - @ operator在Ruby中做什么?

时间:2012-08-17 21:36:24

标签: ruby

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

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

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

3 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:4)

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

x = -y

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

答案 2 :(得分:0)

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