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

It simply returns a negated duration object, where the value is negated and all the values of parts are also negated.

于 2012-08-17T21:41:14.537 に答える