====== while ====== Exécute un script répétitivement tant qu'une condition est rencontrée ===== Syntaxe ===== while test corps ===== Description ===== La commande **while** évalue //test// comme expression (de la même façon que [[:tcl:expr]] évalue ses arguments). La valeur de l'expression doit une valeur booléenne correcte; si c'est la valeur true alors //body// est exécuté par transmission à l'interpréteur Tcl. Une fois que //body// a été exécuté alors //test// est évalué de nouveau, et le processus recommence jusqu’à ce que éventuellement //test// évalue à une valeur booléenne false. Des commandes [[:tcl:continue]] peuvent être exécutées à l’intérieur de //body// pour terminer l'itération courante de la boucle, et des commandes [[:tcl:break]] peuvent être exécutées à l’intérieur de //body// pour provoquer la fin immédiate de la commande **while**. La commande while retourne toujours une chaîne vide. //test// devra presque toujours être entourée d'accolades, sinon les substitutions de variable seront faites avant que la commande **while** démarre l'exécution, ce qui signifie que le changement de la variable fait par le corps de la boucle ne sera pas considéré dans l'expression. Ceci donnera souvent une boucle infinie. Si //test// est entourée d'accolades, les substitutions de variables sont retardées jusqu’à ce que l'expression soit évaluée (avant chaque itération de boucle), donc les changements de la variables seront visible. ===== Exemples ===== ===== Voir aussi ===== [[:tcl:for]], [[:tcl:foreach]] {{tag>tcl}}