Me expresé muy mal. No pretendo decir que se use
break como método regular para terminar un ciclo. Pero hay ocasiones en que las condiciones de salida de un ciclo pueden ser múltiples y no tan inmediatas de comprobar (que requieran llamadas a funciones por ejemplo) y ponerlas todas ellas como condiciones del ciclo puede ser muy engorroso.
Pienso también, sin embargo, que no es bueno ser tan dogmático. Un
continue, por ejemplo, a fin de cuentas, también
rompe una secuencia natural. Un
switch con sus
breaks no es sino una secuencia de
Código:
IF (TAL COSA)
{
Codigo;
GOTO FIN;
}
IF (TAL COSA)
{
Codigo;
GOTO FIN;
}
...
:FIN:
El dogmatismo nos llevaría a escribir
Código:
IF (TAL COSA)
{
Codigo;
}
ELSE
{
IF (TAL COSA)
{
Codigo;
}
ELSE
{
IF (TAL COSA)
{
Codigo;
}
}
}
Todos ellos,
switch,
break,
continue, son usos escondidos del infame
goto, que, no obstante, encuentran su justificación en algunas construcciones.
// Saludos