Fonction
, Operateur
, Procedure
. Spécifie que l'appel n'effectue pas d'effet de bord.
PasDEffetDeBord
L'attribut PasDEffetDeBord
spécifique que l'appel n'effectue pas d'effet de bord.
Ceci n'est pas le comportement par défaut des procédures et des fonctions sensées travaillées sur les variables globales. Ceci est le comportement par défaut des méthodes sensées travaillées exclusivement sur les propriétés de l'objet auquel elle se rapporte.
La caractéristique de ne pas faire d'effet de bord permet à Up ! Optimizer d'optimiser la transmission de paramètres en évitant de protéger systématiquement ces situations. Le programme en est d'autant plus rapide parce qu'Up ! Object Management System est moins sollicité.
Variable
/******/
V : Nul Ou Caractere;
/****************************************************************/
Procedure Optimiser(PasDEffetDeBord) P1(A : Nul Ou Caractere)
/* Objet : La procedure ne fait pas d'effet de bord. */
/****************************************************************/
Debut
...
/* Pas de mise a jour de V. */
...
Fin Procedure
/****************************************************************/
Procedure Optimiser(EffetDeBord) P2(A : Nul Ou Caractere)
/* Objet : La procedure fait un effet de bord. */
/****************************************************************/
Debut
...
/* Mise a jour de V. */
V="hello";
...
Fin Procedure
Principal
/*******/
Debut
...
V="coucou";
...
/* Pas d'effet de bord sur V. */
P1(V);
...
/* Effet de bord sur V. */
P2(V);
...
Fin Procedure
- | - | - | - | - | - | - | - | - |