Rails/ActiveSupport で -@ 演算子の再定義を見つけました。
https://github.com/rails/rails/blob/master/activesupport/lib/active_support/duration.rb#L33
どういう意味か教えていただけますか?
Rails/ActiveSupport で -@ 演算子の再定義を見つけました。
https://github.com/rails/rails/blob/master/activesupport/lib/active_support/duration.rb#L33
どういう意味か教えていただけますか?
-@
と+@
は単に単項-
とのメソッド名です+
。それらを再定義したい場合は、それらをメソッドとして呼び出すなど、バイナリ-
と+
.
オブジェクトが否定されたときに何が起こるかを定義していると思います。たとえば、次のようになります。
x = -y
y オブジェクトには、-@ 演算子を定義する必要があります。
It simply returns a negated duration object, where the value is negated and all the values of parts are also negated.