【问题标题】:What does -@ operator do in Ruby?-@ 运算符在 Ruby 中的作用是什么?
【发布时间】:2012-08-17 21:36:23
【问题描述】:

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

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

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

【问题讨论】:

标签: ruby


【解决方案1】:

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

【讨论】:

    【解决方案2】:

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

    x = -y
    

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        猜你喜欢
        • 2012-03-30
        • 2021-12-04
        • 2011-03-02
        • 1970-01-01
        • 2011-03-20
        • 2011-12-03
        • 2011-09-14
        • 2013-12-02
        • 1970-01-01
        相关资源
        最近更新 更多