Re: renames
Jean-Pierre Rosen <[email protected]>
| Newsgroups | gmane.comp.lang.ada.france |
|---|---|
| Organization | Adalog |
| Message-ID | <[email protected]> |
Thomas De Contes a écrit :
> Bonjour :-)
>
>
> J'ai :
> p :machin renames s.p(cnd.m);
>
> s et cnd sont des variables
> s.p est un tableau de machin, cnd.m est l'index
>
> Je modifie cnd.m après cette déclaration,
> et apparemment, quand j'utilise p après, cnd.m a l'ancienne valeur,
> cad que qqch aurait été figé au moment de la déclaration du renames
>
> Ca me surprends, parce que je pensais que "renames" c'était uniquement
> un raccourci, et que *tout* était recalculé à chaque fois
>
>
> Est ce que qqn pourrait m'expliquer comment ça marche exactement, svp ?
> quand il y a des fonctions par exemple
>
Il y a une règle très simple en Ada: toute déclaration est élaborée, et
sa signification ne change pas après l'élaboration.
Dans le cas d'un rename, on *élabore* la déclaration; pour celà, on
*évalue* l'expression, puis le nom désigne le résultat de cette
évaluation. Cela n'a rien à voir avec une substitution de style "macro".
--
---------------------------------------------------------
J-P. Rosen ([email protected])
Visit Adalog's web site at http://www.adalog.fr
_______________________________________________
Site WWW de l'association Ada-France: http://www.ada-france.org/
[email protected]
http://www.ada-france.org/mailman/listinfo/ada-france