OVH Cloud OVH Cloud

camel book...

6 réponses
Avatar
kurtz le pirate
bonjour,

j'ai relu le chapitre 1 du camel book et j'ai une question au sujet de
l'exemple de la page 15. mise à part le fait qu'il manque la fermeture
du fichier, je ne comprends pas à quoi servent les "\" dans la ligne 6.

extrait :
...
4:while($ligne=<NOTES>) {
5: ($etudiant,$note)=split(/ /,$ligne);
6: $note\{$etudiant\}.=$note." ";
7: }
...

merci de vos lumières.
klp

6 réponses

Avatar
Paul Gaborit
À (at) Wed, 18 Jan 2006 10:22:58 +0100,
kurtz le pirate écrivait (wrote):
j'ai relu le chapitre 1 du camel book et j'ai une question au sujet de
l'exemple de la page 15. mise à part le fait qu'il manque la fermeture
du fichier, je ne comprends pas à quoi servent les "" dans la ligne 6.


Plusieurs explications possibles :

1- À faire réfléchir les lecteurs pour qu'ils corrigent l'exemple et
voir ceux qui suivent.

2- À montrer que le camel book a été (mal) rédigé avec un outil comme
(La)TeX.

3- À justifier une nouvelle édition pour corriger les petis défauts.

;-)

extrait :
...
4:while($ligne=<NOTES>) {
5: ($etudiant,$note)=split(/ /,$ligne);
6: $note{$etudiant}.=$note." ";
7: }
...


Ou alors, il y a un filtre sur le source qui change un peu la syntaxe
de Perl mais je ne pense pas que les filtres soient abordés dès le
premier chapitre du Camle Book. En tous cas, ça ne ressemble pas à du
Perl valide.

Dans quel édition du Camel Book avez-vous trouvé cet exemple ?

--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>

Avatar
gerbier
Paul Gaborit wrote:


Ou alors, il y a un filtre sur le source qui change un peu la syntaxe
de Perl mais je ne pense pas que les filtres soient abordés dès le
premier chapitre du Camle Book. En tous cas, ça ne ressemble pas à du
Perl valide.

Dans quel édition du Camel Book avez-vous trouvé cet exemple ?



je viens de verifier dans le mien ("Programmation en perl", 2eme edition, de
1996), la syntaxe du code est correcte (pas de '')

Avatar
Nicolas

1- À faire réfléchir les lecteurs pour qu'ils corrigent l'exemple et
voir ceux qui suivent.


Plausible ;-)

2- À montrer que le camel book a été (mal) rédigé avec un outil comme
(La)TeX.


et mal relu, je vote pour cette possiblité. Je pense que l'environnement
"listing" de latex n'(a pas été ulisé|existait pas), ce qui oblige à
mettre des contre oblique partout voire de à \ une commande.
C'est ce qui arrive quand on veut produire du matex avec du perl.

3- À justifier une nouvelle édition pour corriger les petis défauts.


C'est fait ;-)
dans la 2ième version française l'exemple a migré page 10 et est expurgé
des contre obliques inutiles.

Nicolas.

--
Powered .~.
by Linux /V Enlever
------ // Take off
solutions for /( ) BULBA
smart penguins ^`~'^

Avatar
kurtz le pirate
In article ,
Paul Gaborit wrote:

À (at) Wed, 18 Jan 2006 10:22:58 +0100,
kurtz le pirate écrivait (wrote):
j'ai relu le chapitre 1 du camel book et j'ai une question au sujet de
l'exemple de la page 15. mise à part le fait qu'il manque la fermeture
du fichier, je ne comprends pas à quoi servent les "" dans la ligne 6.


Plusieurs explications possibles :

1- À faire réfléchir les lecteurs pour qu'ils corrigent l'exemple et
voir ceux qui suivent.

2- À montrer que le camel book a été (mal) rédigé avec un outil comme
(La)TeX.

3- À justifier une nouvelle édition pour corriger les petis défauts.

;-)

extrait :
...
4:while($ligne=<NOTES>) {
5: ($etudiant,$note)=split(/ /,$ligne);
6: $note{$etudiant}.=$note." ";
7: }
...


Ou alors, il y a un filtre sur le source qui change un peu la syntaxe
de Perl mais je ne pense pas que les filtres soient abordés dès le
premier chapitre du Camle Book. En tous cas, ça ne ressemble pas à du
Perl valide.

Dans quel édition du Camel Book avez-vous trouvé cet exemple ?


c'est la 3e éditions en français.

cet exemple est un peu particulier c'est pourquoi je me demandais si ces
"" servaient vraiment à quelques choses.

sinon, des erreurs de typos il y en a plein le bouquin :))


Avatar
Nicolas

c'est la 3e éditions en français.

cet exemple est un peu particulier c'est pourquoi je me demandais si ces
"" servaient vraiment à quelques choses.

sinon, des erreurs de typos il y en a plein le bouquin :))


C'est amusant qu'il y en ait plus que dans la seconde.

Nicolas.

--
Powered .~.
by Linux /V Enlever
------ // Take off
solutions for /( ) BULBA
smart penguins ^`~'^

Avatar
Jean-Marc FRIGERIO
Nicolas wrote:


c'est la 3e éditions en français.

cet exemple est un peu particulier c'est pourquoi je me demandais si ces
"" servaient vraiment à quelques choses.

sinon, des erreurs de typos il y en a plein le bouquin :))


C'est amusant qu'il y en ait plus que dans la seconde.

Nicolas.



Pan ! sur les doigts des traducteurs, cette typo n'existe pas dans la
version anglaise (p 18).
de plus
5: ($etudiant,$note)=split(/ /,$ligne);
est écrite


5: ($student, $grades) = split(" ",$line);

alors qu'il peut y avoir des différences, voir quelques pages plus loin.

@tab1 = split(" "," a b c ");
print scalar @tab1 renvoie 3
print "@tab1" renvoie a b c

@tab2 = split(/ /," a b c ");
print scalar @tab2 renvoie: 7
print "@tab2" renvoie: a b c