À (at) Wed, 30 Mar 2005 18:23:04 +0200, kurtz le pirate écrivait (wrote):
j'ai le morceau de script suivant : foreach $thisLine (@faces) { ... }
le fonctionnement normal fait que $thisLine est équivalent à $faces[0].
... $thisLine est un alias de $faces[0].
est-il possible de modifier ça pour que dans la première boucle, $thisLine prenne la valeur de $faces[1] ?
Un truc du genre peut dépanner :
foreach my $thisLine (@faces[1..$#faces]) {...}
Mais la bonne question à se poser est « pourquoi @faces contient-il un premier élément différent des autres ? ». ;-)
-- Paul Gaborit - <http://www.enstimac.fr/~gaborit/> Perl en français - <http://www.enstimac.fr/Perl/>
kurtz le pirate
In article , Paul Gaborit wrote:
À (at) Wed, 30 Mar 2005 18:23:04 +0200, kurtz le pirate écrivait (wrote):
j'ai le morceau de script suivant : foreach $thisLine (@faces) { ... }
le fonctionnement normal fait que $thisLine est équivalent à $faces[0].
... $thisLine est un alias de $faces[0].
est-il possible de modifier ça pour que dans la première boucle, $thisLine prenne la valeur de $faces[1] ?
Un truc du genre peut dépanner :
foreach my $thisLine (@faces[1..$#faces]) {...}
Mais la bonne question à se poser est « pourquoi @faces contient-il un premier élément différent des autres ? ». ;-)
...oui tu as raison. en fait c'était un problème d'indice que je lis dans fichier et qui commence par 1 et je mets ces indices dans un tableau qui commence par 0. mais j'ai résolu mon problème autrement et j'au un question à ce sujet : peut-on écrire $faces+=x qui ajoute x à tous les éléments du tableau ?
klp
In article <r7acol6pkv.fsf@iena.enstimac.fr>,
Paul Gaborit <Paul.Gaborit@invalid.invalid> wrote:
À (at) Wed, 30 Mar 2005 18:23:04 +0200,
kurtz le pirate <kurtzlepirate@yahoo.fr> écrivait (wrote):
j'ai le morceau de script suivant :
foreach $thisLine (@faces) { ... }
le fonctionnement normal fait que $thisLine est équivalent à $faces[0].
... $thisLine est un alias de $faces[0].
est-il possible de modifier ça pour que dans la première boucle,
$thisLine prenne la valeur de $faces[1] ?
Un truc du genre peut dépanner :
foreach my $thisLine (@faces[1..$#faces]) {...}
Mais la bonne question à se poser est « pourquoi @faces contient-il un premier
élément différent des autres ? ». ;-)
...oui tu as raison. en fait c'était un problème d'indice que je lis
dans fichier et qui commence par 1 et je mets ces indices dans un
tableau qui commence par 0. mais j'ai résolu mon problème autrement et
j'au un question à ce sujet : peut-on écrire $faces+=x qui ajoute x à
tous les éléments du tableau ?
À (at) Wed, 30 Mar 2005 18:23:04 +0200, kurtz le pirate écrivait (wrote):
j'ai le morceau de script suivant : foreach $thisLine (@faces) { ... }
le fonctionnement normal fait que $thisLine est équivalent à $faces[0].
... $thisLine est un alias de $faces[0].
est-il possible de modifier ça pour que dans la première boucle, $thisLine prenne la valeur de $faces[1] ?
Un truc du genre peut dépanner :
foreach my $thisLine (@faces[1..$#faces]) {...}
Mais la bonne question à se poser est « pourquoi @faces contient-il un premier élément différent des autres ? ». ;-)
...oui tu as raison. en fait c'était un problème d'indice que je lis dans fichier et qui commence par 1 et je mets ces indices dans un tableau qui commence par 0. mais j'ai résolu mon problème autrement et j'au un question à ce sujet : peut-on écrire $faces+=x qui ajoute x à tous les éléments du tableau ?
klp
Thomas vO
bonjour,
À (at) Thu, 31 Mar 2005 11:24:39 +0200, kurtz le pirate nous disait (told us):
...oui tu as raison. en fait c'était un problème d'indice que je lis dans fichier et qui commence par 1 et je mets ces indices dans un tableau qui commence par 0. mais j'ai résolu mon problème autrement et j'au un question à ce sujet : peut-on écrire $faces+=x qui ajoute x à tous les éléments du tableau ?
non, il faut utiliser une boucle de ce genre :
foreach my $face (@faces) { $face += x; }
-- Thomas vO - <http://www.enstimac.fr/~vanouden/>
bonjour,
À (at) Thu, 31 Mar 2005 11:24:39 +0200,
kurtz le pirate <kurtzlepirate@yahoo.fr> nous disait (told us):
...oui tu as raison. en fait c'était un problème d'indice que je lis
dans fichier et qui commence par 1 et je mets ces indices dans un
tableau qui commence par 0. mais j'ai résolu mon problème autrement et
j'au un question à ce sujet : peut-on écrire $faces+=x qui ajoute x à
tous les éléments du tableau ?
non, il faut utiliser une boucle de ce genre :
foreach my $face (@faces) {
$face += x;
}
--
Thomas vO - <http://www.enstimac.fr/~vanouden/>
À (at) Thu, 31 Mar 2005 11:24:39 +0200, kurtz le pirate nous disait (told us):
...oui tu as raison. en fait c'était un problème d'indice que je lis dans fichier et qui commence par 1 et je mets ces indices dans un tableau qui commence par 0. mais j'ai résolu mon problème autrement et j'au un question à ce sujet : peut-on écrire $faces+=x qui ajoute x à tous les éléments du tableau ?
non, il faut utiliser une boucle de ce genre :
foreach my $face (@faces) { $face += x; }
-- Thomas vO - <http://www.enstimac.fr/~vanouden/>
Alex Marandon
On 2005-03-31, Thomas vO wrote:
j'au un question à ce sujet : peut-on écrire $faces+=x qui ajoute x à tous les éléments du tableau ?
foreach my $face (@faces) { $face += x; }
Ou bien avec map :
map { $_ += 42 } @faces;
On 2005-03-31, Thomas vO <vanouden@cf.webpage.invalid> wrote:
j'au un question à ce sujet : peut-on écrire $faces+=x qui ajoute x à
tous les éléments du tableau ?
j'au un question à ce sujet : peut-on écrire $faces+=x qui ajoute x à tous les éléments du tableau ?
foreach my $face (@faces) { $face += x; }
Ou bien avec map :
map { $_ += 42 } @faces;
??? j'avais vaguement vu 'map' dans le chameau bleu mais j'avais vraiment pas compris qu'on pouvait faire ce genre de chose !
map et for font a peu près la même chose, on écrira :
for (@valeurs) { utiliser $_ }
map { utiliser $_ } @valeurs;
-- Mathieu Arnold
Jacques Caron
On Fri, 01 Apr 2005 10:15:46 +0200, Mathieu Arnold <news+ wrote:
map et for font a peu près la même chose, on écrira :
for (@valeurs) { utiliser $_ }
map { utiliser $_ } @valeurs;
Une différence importante quand même: map renvoie la liste des résultats, pas for. Sinon il y a grep aussi, qui lui renvoie la liste des valeurs originales pour lesquelles le résultat est "vrai", donc pour faire ce qu'on veut ici ça marcherait aussi (même si, comme map, il calculerait un résultat pour rien dans le cas présent).
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/
On Fri, 01 Apr 2005 10:15:46 +0200, Mathieu Arnold <news+free@mat.cc>
wrote:
map et for font a peu près la même chose, on écrira :
for (@valeurs) {
utiliser $_
}
map {
utiliser $_
} @valeurs;
Une différence importante quand même: map renvoie la liste des résultats,
pas for. Sinon il y a grep aussi, qui lui renvoie la liste des valeurs
originales pour lesquelles le résultat est "vrai", donc pour faire ce
qu'on veut ici ça marcherait aussi (même si, comme map, il calculerait un
résultat pour rien dans le cas présent).
Jacques.
--
Interactive Media Factory
Création, développement et hébergement
de services interactifs: SMS, SMS+, Audiotel...
http://www.imfeurope.com/
On Fri, 01 Apr 2005 10:15:46 +0200, Mathieu Arnold <news+ wrote:
map et for font a peu près la même chose, on écrira :
for (@valeurs) { utiliser $_ }
map { utiliser $_ } @valeurs;
Une différence importante quand même: map renvoie la liste des résultats, pas for. Sinon il y a grep aussi, qui lui renvoie la liste des valeurs originales pour lesquelles le résultat est "vrai", donc pour faire ce qu'on veut ici ça marcherait aussi (même si, comme map, il calculerait un résultat pour rien dans le cas présent).
Jacques. -- Interactive Media Factory Création, développement et hébergement de services interactifs: SMS, SMS+, Audiotel... http://www.imfeurope.com/