Capítulo 6: Estructuras repetitivas

Publicado por P. Ruiz en

Alterar el proceso de las estructuras repetitivas

En PowerShell tenemos dos órdenes que nos permiten modificar la ejecución normal de una estructura repetitiva: break y continue.

Veamos cómo funcionan.

La orden break

Al ejecutarla, PowerShell deja de ejecutar el resto de instrucciones del bloque de código y termina la repetición del bucle aunque no se haya cumplido la condición de salida. La ejecución continuará por la siguiente instrucción después del bloque de código que se está repitiendo (si no la hay, acabará el script).

Veamos un ejemplo que mostrará los números del 1 al 100, salvo que el usuario decida interrumpirlo:

PowerShell-UD06-026

Como en el ejemplo, lo normal es que la orden break se encuentre dentro de una condición. De este modo, el bucle se detendrá en el momento que se cumpla dicha condición.

Veamos el resultado del ejemplo:

PowerShell-UD06-027

Esta orden puede aplicarse tanto en las estructuras repetitivas (do while, while, do until, for y foreach) como a la estructura alternativa switch.

En el caso de switch, al ejecutar la orden break el flujo de ejecución también continuará por la instrucción que haya después de switch (y si no la hay, acabará el script).

La orden continue

Como ocurre con break, al ejecutar la orden continue se interrumpe la ejecución del bloque de código que la contiene. La diferencia es que, en este caso, la ejecución sigue con la siguiente repetición del bucle. Por lo tanto, estamos consiguiendo saltarnos las instrucciones que quedaban por ejecutar en el bloque de código.

Por ejemplo, supongamos que necesitamos pedir 10 números al usuario, pero que sólo se muestren los que sean pares:

PowerShell-UD06-028

Y el resultado obtenido podría ser como este:

PowerShell-UD06-029