Re: Ligne vide (etait croneries)
frederic massot <frederic@juliana-multimedia.com> wrote:
> Charles Goyard wrote:
> >
> > > Il y a une différence entre une ligne vide et une ligne sans "\n" à la
> > > fin aussi. Je crois que Bernard voulait dire "avec ou sans une ligne
> > > qui correponderait à ^$ alors que la ligne d'au-dessus à un retour
> > > chariot".
> >
> > Mais que dire des lignes vides sans retour chariot ?
> >
>
> Peut on la qualifier de ligne, si elle n'a pas de retour chariot ?
Ben, ça tourne à la métaphysique, là :-)
1/ Le retour chariot est un SÉPARATEUR de lignes (il n'est donc pas considéré
comme faisant véritablement partie des lignes elles-mêmes). En conséquence,
il n'est en théorie nécessaire qu'une ligne soit suivie par un retour
chariot que dans le cas où il existe des lignes suivantes.
2/ une ligne vide est une ligne ne contenant aucun caractère. Mais pour
pouvoir qualifier la chaîne vide de «ligne», il faut qu'elle soit suivie
d'autre chose, donc d'autre(s) ligne(s), et par conséquent il faut qu'elle
soit suivie d'un retour chariot.
Exemples:
tata \n titi \n toto <EOF> => 3 lignes (séparées par 2 \n).
tata \n titi \n toto \n <EOF> => 3 lignes, mais 4 \n cette fois. Le <EOF>
ne peut en effet pas compter comme ligne
vide, puisqu'il n'est suivi de rien.
\n tata \n titi \n toto <EOF> => 4 lignes (séparées par 3 \n). La première
ligne est vide et elle est bien suivie par
(au moins) un retour chariot.
tata \n \n titi \n toto <EOF> => 4 lignes (séparées par 3 \n). La deuxième
ligne est vide et elle est bien suivie par
(au moins) un retour chariot.
tata \n titi \n toto \n \n <EOF> => 4 lignes avec 4 \n. La quatrième et
dernière ligne est vide et elle est bien
suivie par (au moins) un retour chariot.
Même si l'usage d'une dernière ligne sans retour chariot est douteux et prête
à confusion, il n'est en théorie pas à exclure, et beaucoup de programmes
sont mal conçus car ils présupposent à tort qu'une ligne est définie par ^.*\n
Voilà ce qu'il fallait en retenir, dans les grandes lignes ;-)
--
Didier Verna, didier@lrde.epita.fr, http://www.lrde.epita.fr/~didier
EPITA / LRDE, 14-16 rue Voltaire Tel.+33 (1) 53 14 59 47
94276 Le Kremlin-Bicêtre, France Fax.+33 (1) 44 08 01 99 didier@xemacs.org
Reply to: