Rのほぼすべての演算子が実際に関数です。たとえば、 +
はfunction (e1, e2) .Primitive("+")
として定義されたfunction (e1, e2) .Primitive("+")
ここで、e1は演算子の左辺、e2は演算子の右辺です。これは、ユーザ定義関数で基底の+
をマスキングすることによって、直観に反する効果を達成することが可能であることを意味する。
例えば:
`+` <- function(e1, e2) {e1-e2}
> 3+10
[1] -7