À (at) Fri, 15 Aug 2008 20:47:29 +0200,
mpg <mpg@elzevir.fr> écrivait (wrote):
Ah ok. Donc déjà je vois d'où débarque ce 1. Par contre je ne suis pas sûr
de bien comprendre ce qui se passe avec map et $_. En fait je m'atais dit
que $_ contenait successivement une copie de chaque élément du tableau, que
s allait opérer sur cette copie et qu'elle deviendrait le $_ du corps.
Ce qui se passe en vrai, c'est que d'une part $_ n'est pas une copie de
chaque élément, mais une référence à chaque élément, et d'autre part le $_
du corps, c'est le résultat de la fonction passé en premier argument à map,
en non pas la valeur de $_ après évaluation de cette dernière. C'est ça ?
Juste pour précisier : dans un appel à 'map', $_ n'est ni une copie ni
une référence de l'élément courant, c'est un *alias*. Si on modifie
$_, on modifie réellement l'élément et contrairement à une référence,
il n'y a pas besoin de le déréférencer.
--
Paul Gaborit - <
http://perso.enstimac.fr/~gaborit/>
Perl en français - <
http://perl.enstimac.fr/>