Can One可以消除ruby中简单运算符和复合赋值运算符之间的歧义吗?

时间:2012-06-20 15:20:40

标签: ruby operators

任何人都能指出我的方向,例如,何时判断+运算符是否用于ruby而不是+运算符来自+运算符定义的内部?举例说明:

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

是否有内核方法?

1 个答案:

答案 0 :(得分:5)

此代码:

a += 5

转换为:

a = a + 5

您的+方法无法知道您收到了复合作业。