R: + = (plus égal) et ++ (plus plus) équivalent de c ++ / c # / java, etc.?

Est-ce que R a un concept de += (plus égal) ou ++ (plus plus) comme c ++ / c # / autres le font?

Non, ce n’est pas le cas, voir: R Définition du langage: Opérateurs

Après @ GregaKešpret, vous pouvez créer un opérateur infixé:

 `%+=%` = function(e1,e2) eval.parent(substitute(e1 <- e1 + e2)) x = 1 x %+=% 2 ; x 

R n’a pas de concept d’ increment operator (comme par exemple ++ en C). Cependant, il n’est pas difficile d’en implémenter un vous-même, par exemple:

 inc <- function(x) { eval.parent(substitute(x <- x + 1)) } 

Dans ce cas, vous appelez

 x <- 10 inc(x) 

Cependant, il introduit une surcharge de fonctions, donc plus lente que de taper x <- x + 1 vous-même. Si je ne me trompe pas, l' increment operator été introduit pour faciliter le travail du compilateur, car il pourrait convertir directement le code en instructions de langage machine.

Incrémenter et décrémenter de 10.

 require(Hmisc) inc(x) <- 10 dec(x) <- 10 

R n’a pas ces opérations car (la plupart) les objects de R sont immuables. Ils ne changent pas. Généralement, lorsque vous modifiez un object, vous modifiez une copie.