1

たとえば、+演算子の定義の内側から+ =演算子ではなく、+演算子がルビーで使用されているかどうかを判断する方法の方向に私を向けることはできますか?説明する:

class A
    def +(b)
        if is_theCallActuallyACompoundAssignment?
            compoundAssignment = true
        else
            compoundAssignment = false
        end
        doOtherStuff
    end
end

おそらくカーネル法はありますか?

4

1 に答える 1

5

このコード:

a += 5

これに翻訳されます:

a = a + 5

+メソッドは、複合代入を受け取ったことを知りません。

于 2012-06-20T15:23:46.967 に答える