10.3. Contrôle des boucles

Tournez cent tours, tournez mille tours,

Tournez souvent et tournez toujours...

-- Verlaine, « Chevaux de bois »

Commandes affectant le comportement des boucles

break, continue

Les commandes de contrôle de boucle break et continue [46] correspondent exactement à leur contre-partie dans d'autres langages de programmation. La commande break termine la boucle (en sort), tandis que continue provoque un saut jusqu'à la prochaine itération de la boucle, dans tenir compte des commandes qui restent dans ce cycle particulier de la boucle.

Exemple 10.20. Effets de break et continue dans une boucle

&ex28;

La commande break peut de façon optionnelle prendre un paramètre. Un simple break termine seulement la boucle interne où elle est incluse mais un break N sortira de N niveaux de boucle.

Exemple 10.21. Sortir de plusieurs niveaux de boucle

&breaklevels;

La commande continue, similaire à break, prend un paramètre de façon optionnelle. Un simple continue court-circuite l'itération courante et commence la prochaine itération de la boucle dans laquelle elle se trouve. Un continue N termine toutes les itérations à partir de son niveau de boucle et continue avec l'itération de la boucle N niveaux au-dessus.

Exemple 10.22. Continuer à un plus haut niveau de boucle

&continuelevels;

Exemple 10.23. Utiliser continue N dans une tâche courante

&continuenex;

[Attention]

Attention

L'expression continue N est difficile à comprendre et complexe à utiliser dans tous les contextes. Il est probablement raisonnable de l'éviter.



[46] Ce sont des commandes intégrées du shell, alors que les autres commandes de boucle, telles que while et case, sont des mots clés.