Le break peut être utile aussi dans des boucles où la condition d'arrêt est au milieu de la boucle :
Code:
1 2 3 4 5
| loop
...
exit when (condition-is-true);
...
end loop; |
Vous allez me dire, ça se simule très bien, soit en dupliquant le code (beurk ! trappe à bugs, pourtant utilisée dans 80 % des cas), soit avec un joli booléen dans un while. Mais à mon avis, la solution de la boucle infinie rend le code moins complexe.
En C/C++, ça se lit très bien si on utilise les macros :
Code:
1 2
| #define forever() for(;;)
#define EXIT_WHEN(cond) if (cond) break |
Ce qui donne :
Code:
1 2 3 4 5
| forever() {
...
EXIT_WHEN(condition-is-true);
...
} |
En Java, l'absence de macros oblige à utiliser explicitement le "break".