2010-03-30 5 views
1

Je parle d'opérateurs qui ne renvoient pas de valeur mais modifient (écrasent) le premier opérande.Comment sont appelés les opérateurs qui affectent le premier opérande au lieu de 'retourner' quelque chose?

Exemple en pseudo-code:

 add := return op1 + op2 
increment := op1 = op1 + op2 

Étant donné ce schéma de mappage:

add -> increment 
subtract -> decrement 

ce qui pourrait être les noms des autres opérateurs?

multiply, divide, power, ... (what else?) 

Je pensais à add->selfAdd, multiply->selfMultiply, mais ces noms sont en quelque sorte stupide.

REMARQUE: Pourquoi tout cela? C'est pour un langage de programmation expérimental. En raison de certaines circonstances, il peut y avoir que des mots, pas de signes d'opérateur, donc je ne peux pas utiliser ++ pour increment ou *= pour selfMultiply.

Répondre

1

J'ai souvent entendu * = et + = dénommé "multiplier-assigner" et "ajouter-affecter".

+0

Cette dénomination est plus compréhensible que ma proposition avec addSelf. Mais malheureusement, il est encore plus long à taper. –

+0

Puisque personne ne semble trouver une meilleure idée, je vais marquer ceci comme réponse correcte;) –

0

Je crois que vous décrivez les différences entre unary et binary opérateurs/opérations.

+0

Pas tout à fait. Pensez à la négation: cela pourrait être fait comme opérateur unaire: 'negate (someNumber)' (prend un opérande) et en tant qu'opérateur zéro-naire: 'someNumber.negate()' (ne prend pas d'opérandes). –

Questions connexes