23 lines
2.8 KiB
HTML
23 lines
2.8 KiB
HTML
|
<HTML><HEAD>
|
|||
|
<BASEFONT FACE="Times New Roman" SIZE="2" COLOR="#000000">
|
|||
|
</HEAD>
|
|||
|
<BODY>
|
|||
|
<div><H3><b>for Commandes Internes Tcl</b></H3></div>
|
|||
|
<HR ALIGN="center">
|
|||
|
<div><b>NOM</b></div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">for - boucle "For"
|
|||
|
</div><br>
|
|||
|
<div><b>SYNTAXE</b></div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;"><b>for </b><i>start test next body</i>
|
|||
|
</div> <br>
|
|||
|
<div><b>DESCRIPTION</b></div><br>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;"><b>For</b> est une commande de boucle, semblable de structure <20> l'instruction C <b>for</b> Les arguments <i>start</i>, <i>next</i>, et <i>body</i> doivent <20>tre des cha<68>nes de commande Tcl, et <i>test</i> est une expression cha<68>ne. La commande <b>for</b> appelle d'abord l'interpr<70>teur Tcl pour ex<65>cuter <i>start</i>. Ensuite elle <20>value r<>p<EFBFBD>titivement <i>test</i> comme expression; si le r<>sultat est diff<66>rent de z<>ro elle appelle l'interpr<70>teur Tcl sur <i>body</i>, ensuite appelle l'interpr<70>teur Tcl sur <i>next</i>, enfin r<>p<EFBFBD>te la boucle. La commande se termine quand <i>test</i> est <20>valu<6C> <20> 0 Si une commande <A HREF="99.htm"><b>continue</b></A> est appel<65>e dans <i>body</i> alors toutes les commandes restantes dans l'ex<65>cution courante de <i>body</i> sont omises; le traitement se poursuit en appelant l'interpr<70>teur Tcl sur <i>next</i>, puis <20>valualuation de <i>test</i>, et ainsi de suite. Si une commande <A HREF="92.htm"><b>break</b></A> est appel<65>e dans <i>body</i> ou <i>next</i>, alors la commande <b>for</b> retourne imm<6D>diatement. L'op<6F>ration de <A HREF="92.htm"><b>break</b></A> et <A HREF="99.htm"><b>continue</b></A> est semblable aux instructions C correspondantes. <b>For</b> retourne une cha<68>ne vide. </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 51px;">Note: <i>test</i> sera presque toujours entour<75>e d'accolades. Sinon, la substitution de variable sera faite avant que la commande <b>for</b> d<>bute l'ex<65>cution, ce qui signifie que les modifications de la variable par le corps de la boucle ne seront pas prises en compte dans l'expression. Ceci r<>sulterait en une boucle infinie. Si <i>test</i> est entour<75>e d'accolades, la substitution de variable est retard<72>e jusqu'a ce que l'expression soit <20>valu<6C>e (avant chaque it<69>ration de la boucle), donc les modifications de la variables seront visibles. Comme exemple, essayez les script suivants avec et sans accolades autour de <b>$x<10</b>: </div>
|
|||
|
<div ALIGN="LEFT" style="margin-left: 102px;">for {set x 0} {$x<10} {incr x} {<br>
|
|||
|
puts "x est $x"<br>
|
|||
|
}</div>
|
|||
|
<br>
|
|||
|
<br><div ALIGN="CENTER"><A HREF="index.htm"><b>Index</b></A> <A HREF="114.htm"><b>Pr<EFBFBD>c<EFBFBD>dent</b></A> <A HREF="116.htm"><b>Suivant</b></A>
|
|||
|
</div>
|
|||
|
</BODY></HTML>
|