projman/hlp/fr/tcl/switch.htm

62 lines
6.0 KiB
HTML
Raw Normal View History

2015-10-19 13:27:31 +03:00
<HTML><HEAD>
<BASEFONT FACE="Times New Roman" SIZE="2" COLOR="#000000">
</HEAD>
<BODY>
<div><H3><b>switch&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;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>&#123;<i>pattern body </i>?<i>pattern body </i>...?}&nbsp; <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 &quot;<b>-</b>&quot; 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 &quot;<b>-</b>&quot; 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&nbsp;&nbsp; abc&nbsp;&nbsp; a&nbsp;&nbsp; -&nbsp;&nbsp; b&nbsp;&nbsp; &#123;format 1}&nbsp;&nbsp; abc&nbsp;&nbsp; &#123;format 2}&nbsp;&nbsp; default&nbsp;&nbsp; &#123;format 3}</b></div>
<div ALIGN="LEFT" style="margin-left: 51px;">renverra <b>2</b>,&nbsp; </div>
<div ALIGN="LEFT" style="margin-left: 102px;"><b>switch&nbsp;&nbsp; -</b><A HREF="152.htm"><b>regexp</b></A><b>&nbsp;&nbsp; aaab &#123;<br>
</b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;^a.*b&#36;&nbsp;&nbsp; -<br>
</b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b&nbsp;&nbsp; &#123;format 1}<br>
</b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b><A HREF="129.htm"><b>a*</b></A><b>&nbsp;&nbsp; &#123;format 2.htm}<br>
</b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default&nbsp;&nbsp; &#123;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&nbsp;&nbsp; xyz &#123;<br>
</b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;a<br>
</b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;-<br>
</b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;b<br>
</b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;<br>
</b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;# Placement Correct du Commentaire<br>
</b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;format 1<br>
</b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;}<br>
</b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</b><A HREF="129.htm"><b>a*</b></A><b><br>
</b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;format 2}<br>
</b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;default<br>
</b><b>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&#123;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>&nbsp;&nbsp;<A HREF="166.htm"><b>Pr<EFBFBD>c<EFBFBD>dent</b></A>&nbsp;&nbsp;<A HREF="168.htm"><b>Suivant</b></A></div>
</BODY></HTML>