Previous Up Next

9.4.15  Les différences entre :=, =< et copy

Attention, := et =< ne sont pas équivalents car =< modifie lélément d’une liste ou matrice par référence.

L’affectation =< ne diffère de := que si on modifie un élément d’une liste (ou matrice) contenue dans une variable, par exemple si A contient la liste [0,1,2,3,4] i.e. si on a tapé A:=[0,1,2,3,4] et que l’on veut modifier la valeur de A[3] et changer 3 en 33, on peut écrire dans ce cas, A[3]:=33 ou A[3] =< 33 mais ces deux instructions sont différentes. En effet A pointe vers une liste car A:=[0,1,2,3,4], et A[3] =< 33 modifie cette liste en la liste [0,1,2,33,4], ainsi toutes les variables de Xcas qui pointent vers cette liste seront modifiées. Alors qu’avec A[3]:=33 la liste est dupliquée, la copie est modifiée et A pointe vers la copie. Il faut donc utiliser =< avec précautions car tous les objets pointant sur cette liste (ou matrice) seront modifiés.


Previous Up Next