62 lines
6.0 KiB
HTML
62 lines
6.0 KiB
HTML
|
<HTML><HEAD>
|
|||
|
<BASEFONT FACE="Times New Roman" SIZE="2" COLOR="#000000">
|
|||
|
</HEAD>
|
|||
|
<BODY>
|
|||
|
<div><H3><b>switch Commandes Internes Tcl</b></H3></div>
|
|||
|
<HR ALIGN="center">
|
|||
|
<div><b>NOM</b></div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">switch - Evalue un parmi plusieurs scripts, d<>pendant d'une valeur donn<6E>e
|
|||
|
</div><br>
|
|||
|
<div><b>SYNTAXE</b></div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;"><b>switch </b>?<i>options</i>?<i> string pattern body </i>?<i>pattern body </i>...? <br>
|
|||
|
<b>switch </b>?<i>options</i>?<i> string </i>{<i>pattern body </i>?<i>pattern body </i>...?} <br>
|
|||
|
</div><br>
|
|||
|
<div><b>DESCRIPTION</b></div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">La commande <b>switch</b> compare son argument <i>string</i> <20> chacun des arguments <i>pattern</i> dans l'ordre. D<>s qu'elle trouve un <i>pattern</i> qui correspond <20> <i>string</i> elle <20>value les argument <i>body</i> suivants en les transmettant r<>cursivement <20> l'interpr<70>teur Tcl et retourne le r<>sultat de cette <20>valuation . Si le dernier argument <i>pattern</i> est <b>default</b> alors il correspond <20> tout. Si aucun argument <i>pattern</i> correspond <20> <i>string</i> et qu'aucun d<>faut n'est donn<6E>, alors <b>switch</b> retourne une cha<68>ne vide. </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Si les arguments initiaux de <b>switch</b> commencent avec <b>-</b> alors ils sont trait<69>s comme des options Les options suivantes sont couramment support<72>es:
|
|||
|
<DL>
|
|||
|
<DT><b>-exact</b></DT><DD>Utilise la correspondance exacte pendant la comparaison de <i>string</i> <20> un mod<6F>le C'est le d<>faut.
|
|||
|
</DD>
|
|||
|
<DT><br><b>-glob</b>
|
|||
|
</DT><DD>Pendant la comparaison de <i>string</i> aux mod<6F>les, utilise une correspondance glob-style (ex. la m<>me qu'impl<70>ment<6E>e par la commande<b> string match</b>).
|
|||
|
</DD>
|
|||
|
<DT><br><b>-regexp</b>
|
|||
|
</DT><DD>Pendant la comparaison de <i>string</i> aux mod<6F>les, utilise la correspondance expression rationelle (comme d<>crit dans la page de r<>f<EFBFBD>rence<A HREF="150.htm"><b> re_syntax</b></A>).
|
|||
|
</DD>
|
|||
|
<DT><br><b>--</b>
|
|||
|
</DT><DD>Marque la fin des options L'argument suivant sera trait<69> comme <i>string</i> m<>me s'il commence avec un <b>-</b>.
|
|||
|
</DD>
|
|||
|
</DL>
|
|||
|
</div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Deux syntaxes sont fournie pour les arguments<i> pattern</i> et <i>body</i>. Le premier utilise un argument s<>par<61> pour chacun des mod<6F>les et commandes; cette forme est pratique si des substitutions sont d<>sir<69>es sur un mod<6F>le ou une commande. La seconde forme place tous les mod<6F>les et les commandes ensemble dans un seul argument; l'argument doit avoir une structure de liste correcte, avec les <20>l<EFBFBD>ments de la liste <20>tant les mod<6F>les et les commandes. La seconde forme facilite la construction de commandes switch multi-ligne, puisque les accolades entourant la liste rendent inutile l'inclusion d'un antislash <20> la fin de chaque ligne. Comme les arguments <i>pattern</i> sont dans accolades dans la seconde forme, aucunes substitutions de commande ou de variable ne sont effectu<74>e sur ceux-ci; cela rend le comportement de la seconde forme diff<66>rent de la premi<6D>re forme dans certains cas. </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Si un <i>body</i> est sp<73>cifi<66> comme "<b>-</b>" cela signifie que le <i>body</i> du mod<6F>le suivant doit <20>tre aussi utilis<69> comme le corps pour ce mod<6F>le (si le mod<6F>le suivant a aussi un corps de "<b>-</b>" alors le corps qui est utilis<69> apr<70>s, et ainsi de suite). Cette fonctionnalit<69> rend possible de partager une seul <i>body</i> entre plusieurs mod<6F>les. </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Attention <20> l'emplacement des commentaires dans les commandes<b> switch</b> Ils devront <20>tre plac<61>s seulement <b>dans</b> l'ex<65>cution du corps d'un des mod<6F>les, et pas m<>lang<6E>s avec les mod<6F>les. </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Voici quelques exemples de commandes<b> switch</b>: </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 102px;"><b>switch abc a - b {format 1} abc {format 2} default {format 3}</b></div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">renverra <b>2</b>, </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 102px;"><b>switch -</b><A HREF="152.htm"><b>regexp</b></A><b> aaab {<br>
|
|||
|
</b><b> ^a.*b$ -<br>
|
|||
|
</b><b> b {format 1}<br>
|
|||
|
</b><b> </b><A HREF="129.htm"><b>a*</b></A><b> {format 2.htm}<br>
|
|||
|
</b><b> default {format 3}<br>
|
|||
|
</b><b>}</b></div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">renverra <b>1</b>, et </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 102px;"><b>switch xyz {<br>
|
|||
|
</b><b> a<br>
|
|||
|
</b><b> -<br>
|
|||
|
</b><b> b<br>
|
|||
|
</b><b> {<br>
|
|||
|
</b><b> # Placement Correct du Commentaire<br>
|
|||
|
</b><b> format 1<br>
|
|||
|
</b><b> }<br>
|
|||
|
</b><b> </b><A HREF="129.htm"><b>a*</b></A><b><br>
|
|||
|
</b><b> {format 2}<br>
|
|||
|
</b><b> default<br>
|
|||
|
</b><b> {format 3}<br>
|
|||
|
</b><b>}</b></div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">renverra <b>3</b> </div><br>
|
|||
|
<div>Derni<EFBFBD>re r<>vision: 7.0</div>
|
|||
|
<br>
|
|||
|
<br><div ALIGN="CENTER"><A HREF="index.htm"><b>Index</b></A> <A HREF="166.htm"><b>Pr<EFBFBD>c<EFBFBD>dent</b></A> <A HREF="168.htm"><b>Suivant</b></A></div>
|
|||
|
</BODY></HTML>
|