Capítulo 6: Estructuras repetitivas

Publicado por P. Ruiz en

La estructura foreach

Es una estructura bastante especial, diseñada para recorrer todo tipo de listas de elementos. Normalmente, mientras se ejecuta el bloque de código, se aplica alguna operación sobre cada elemento de la lista. Su formato general será así:

PowerShell-UD06-020

Para entenderla, veamos lo que significa cada uno los argumentos que aparecen entre paréntesis:

  • elemento: representa una variable que tomará, en cada repetición y de forma ordenada, el valor de uno de los elementos de la colección.

  • colección: será el conjunto de valores sobre los que actuará el bloque de código.

Probablemente, la mejor forma de entenderlo sea a través de un ejemplo. Veamos cómo mostrar en pantalla los números del 1 al 5:

PowerShell-UD06-021

Y de nuevo, obtenemos el resultado esperado:

PowerShell-UD06-022

Cuando la lista es muy larga, podrías utilizar también intervalos:

PowerShell-UD06-023

En realidad, foreach funciona en cualquier situación donde pueda obtenerse una lista de elementos. Por ejemplo, podríamos utilizar el cmdlet Get-ChildItem, que permite obtener la lista de archivos de una o varias rutas del disco, para averiguar qué nombres de archivo, de una determinada carpeta, contienen el texto que hayamos escrito:

PowerShell-UD06-024

Por ejemplo, podemos obtener todos los archivos que contengan el texto dll como parte de su nombre:

PowerShell-UD06-025

… Aunque en la imagen sólo vemos el principio de la lista, que es bastante larga

Actividades resueltas: Trata de resolver las siguientes cuestiones, antes de consultar la respuesta:

    1. Escribe un script que muestre en pantalla la suma de todos los números comprendidos entre 1 y 100.

      PowerShell-UD06-047

    2. Vuelve a crear un script que muestre en pantalla la tabla de multiplicar del número elegido por el usuario, pero usando la estructura repetitiva foreach.

      PowerShell-UD06-048

    3. Vuelve crear un script que, reutilizando el resultado del ejercicio anterior, muestre en pantalla las tablas de multiplicar del 1 al 10.

      Recuerda que cada tabla debe ir encabezada por un texto que informe del número al que corresponde.

      PowerShell-UD06-049