Cómo crear y usar matrices en PowerShell
Las variables son la estructura de datos más básica en prácticamente cualquier lenguaje de programación. Pero, sinceramente, una sola variable no suele ser suficiente, sobre todo al trabajar con datos más complejos. Ahí es donde entran en juego los arrays. Ya sea en C++, Python o PowerShell, los arrays están presentes en todas partes de una forma u otra. Pero ¿cómo funcionan realmente los arrays en PowerShell? ¿Cuál es su sintaxis? Y, lo que es más importante, ¿cómo se usan sin volverse loco? Vamos a verlo.
Introducción a las matrices de PowerShell
Básicamente, un array es una colección de variables agrupadas. En lugar de manejar varias variables individuales, se colocan los datos relacionados en un solo contenedor, numerando cada elemento a partir de cero. Es una herramienta indispensable para gestionar grandes cantidades de datos simultáneamente. En Windows PowerShell, crear un array es muy sencillo.
Las variables comienzan con el signo $. Por ejemplo, `a` $prime = 13simplemente almacena un número. Pero si quieres crear un array, puedes asignar varios valores separados por comas: $week = "Monday", "Tuesday", "Wednesday"`a[a, b]`.Bastante sencillo. Aun así, algunas personas prefieren ser más explícitas, así que usan paréntesis con el símbolo @, de esta manera:
$week = @("Monday", "Tuesday", "Wednesday")
Esto resulta especialmente útil al trabajar con la salida de comandos o al querer evitar confusiones sobre si se trata de un valor único o una matriz. Ah, y si necesitas un rango de números, por ejemplo, del 0 al 9, puedes hacer lo siguiente:
$digits = 0..9
Crea una matriz de dígitos del cero al nueve. Para inicializar una matriz vacía, puedes hacer lo siguiente:
$values = @()
Esa es tu página en blanco para agregar cosas más tarde. Y si te gusta anidar, claro, los arrays pueden contener otros arrays:
$coordinates = @( (5, 10, 23), (11, 7, 16) )
Solo un aviso: anidar elementos puede resultar confuso rápidamente, así que úsalo con moderación a menos que tengas experiencia. Los arrays de PowerShell son lo suficientemente flexibles como para contener tipos mixtos, pero si quieres restringirlos solo a ciertos tipos de datos, puedes hacerlo así:
[int[]] $numbers = 2, 3, 4, 5
De esta forma, evitas introducir accidentalmente una cadena de texto donde debería ir un número, lo que puede causar problemas más adelante. Los errores extraños suelen ocurrir si no se tiene cuidado con los tipos de datos.
Acceso y modificación de datos de matrices
Una vez que tienes tu array, ¿cómo accedes a sus elementos? Fácil: por índice. Recuerda que los índices de un array empiezan en cero. Así que, si quieres el sexto elemento, es $numbers[5]0. Por ejemplo:
$var = $numbers[5]
Eso copia el valor en el índice cinco a una nueva variable.¿Quieres leer «Miércoles» de un array llamado `my` $days? Simplemente hazlo $days[2]. Ten en cuenta que, debido al conteo que comienza en cero, el primer elemento es $days[0]0.
También puedes modificar los valores de un array sobre la marcha. Por ejemplo, para establecer el segundo elemento en cero, haz lo siguiente:
$numbers[1] = 0
Es muy sencillo. Para añadir nuevos elementos a un array existente, simplemente usa `append` +=. Por ejemplo, $names += "Johny"`append` añade «Johny» al final del $namesarray. O para añadir varios a la vez: `append` $names += "Charlie", "Liam", "Teresa". Si tienes otro array, por ejemplo, `array` $surnames, puedes usar `append` $names += $surnamespara combinarlos.
Recorrer arrays de forma sencilla
A veces, acceder a cada elemento manualmente es un engorro, sobre todo si quieres hacer algo con todos ellos. PowerShell ofrece un par de opciones muy útiles. El bucle for tradicional tiene este aspecto:
for ($i = 0; $i -lt $days. Length; $i++) { $days[$i] }
Esto recorrerá cada elemento y hará lo que le indiques. El bucle foreach es aún mejor y menos propenso a errores:
foreach ($day in $days) { $day }
En serio, en algunas configuraciones puede que necesites el bucle for al principio, pero una vez que te acostumbras a foreach, todo va sobre ruedas.
¿Cuándo son útiles los arrays de PowerShell?
El principal problema al programar scripts sin matrices es el caos de variables: multitud de nombres únicos, fácil de olvidar o de usar incorrectamente. Usar matrices concentra todos los datos relacionados en un contenedor manejable, lo que reduce errores y mejora la legibilidad de los scripts. Esto es especialmente cierto en la automatización, donde las salidas de los cmdlets son objetos que deben almacenarse, y las matrices son perfectas para ello. Recuerda que si extraes datos de un cmdlet, como objetos de PowerShell, puedes canalizarlos a una matriz para gestionarlos mejor.
Sí, al principio resulta un poco extraño, pero una vez que empiezas a usar arrays de forma eficaz, los scripts tienden a ser más claros y fáciles de mantener. Eso sí, ten cuidado con los tipos y los índices, porque claro, PowerShell tiene que complicarlo más de lo necesario.
Artículos relacionados
¿Te resultó útil este artículo?