Como criar e usar matrizes no PowerShell
Variáveis são a estrutura de dados mais básica em praticamente qualquer linguagem de programação. Mas, honestamente, uma única variável geralmente não é suficiente, especialmente quando se lida com coisas mais complexas.É aí que entram os arrays. Seja em C++, Python ou PowerShell, os arrays estão presentes em todos os lugares, de alguma forma. Mas como os arrays em PowerShell realmente funcionam? Qual é a sua sintaxe? E, mais importante, como usá-los sem enlouquecer? Vamos explorar isso.
Matrizes do PowerShell: O Básico
Basicamente, um array é apenas uma coleção de variáveis agrupadas. Em vez de lidar com várias variáveis individuais, você coloca dados relacionados em um único contêiner, com cada elemento numerado a partir de zero.É uma ferramenta essencial para gerenciar grandes quantidades de dados simultaneamente. No Windows PowerShell, criar um array é muito simples.
As variáveis começam com o sinal $. Por exemplo, ` $ $prime = 13` armazena apenas um número. Mas se você quiser criar um array, pode atribuir vários valores separados por vírgulas: `$` $week = "Monday", "Tuesday", "Wednesday". Bem simples. Ainda assim, algumas pessoas preferem deixar as coisas explícitas, então usam parênteses com o símbolo @, assim:
$week = @("Monday", "Tuesday", "Wednesday")
Isso é especialmente útil quando você está trabalhando com a saída de comandos ou quer evitar confusão sobre se é um valor único ou uma matriz. Ah, e se você precisar de um intervalo de números, digamos, de 0 a 9, você pode fazer:
$digits = 0..9
Cria uma matriz de dígitos de zero a nove. Ao inicializar uma matriz vazia, você pode fazer:
$values = @()
Essa é a sua tela em branco para adicionar coisas depois. E se você gosta de aninhamento, claro, arrays podem conter outros arrays:
$coordinates = @( (5, 10, 23), (11, 7, 16) )
Apenas um aviso: o aninhamento pode ficar confuso rapidamente, então use-o com moderação, a menos que você tenha experiência. Os arrays do PowerShell são flexíveis o suficiente para conter tipos mistos, mas se você quiser restringir a apenas determinados tipos de dados, você pode fazer o seguinte:
[int[]] $numbers = 2, 3, 4, 5
Dessa forma, você evita inserir acidentalmente uma string onde deveria haver um número, o que pode causar problemas mais tarde. Erros estranhos tendem a ocorrer se você não tiver cuidado com os tipos.
Acessando e Modificando Dados de Matriz
Então, depois de criar seu array, como você extrai elementos dele? Fácil: por índice. Lembre-se, os índices de um array começam em zero. Portanto, se você quiser o sexto item, é $numbers[5]. Por exemplo:
$var = $numbers[5]
Isso copia o valor no índice cinco para uma nova variável. Quer ler “Quarta-feira” de um array chamado $days? Basta fazer $days[2]. Observe que, devido à contagem baseada em zero, o primeiro item é $days[0].
Você também pode alterar os valores da matriz dinamicamente. Por exemplo, para definir o segundo elemento como zero, faça o seguinte:
$numbers[1] = 0
Fácil. Para adicionar novos itens a um array existente, basta concatenar com ` +=.`.Por exemplo, `.` $names += "Johny"adiciona “Johny” ao final do $namesarray. Ou, para adicionar vários itens de uma só vez: ` $names += "Charlie", "Liam", "Teresa".`.Se você tiver outro array, digamos, `[1, 2, 3]` $surnames, você pode usar $names += $surnames`.` para mesclá-los.
Percorrer arrays ficou simples
Às vezes, acessar cada elemento manualmente é um incômodo, especialmente se você quiser fazer algo com todos eles. O PowerShell oferece algumas opções interessantes. O loop `for` tradicional se parece com isto:
for ($i = 0; $i -lt $days. Length; $i++) { $days[$i] }
Este código percorrerá cada item e executará a ação que você definir. O loop foreach é ainda mais elegante e menos propenso a erros:
foreach ($day in $days) { $day }
Sinceramente, em algumas configurações você pode precisar do loop `for` inicialmente, mas depois que se acostumar com o `foreach`, tudo ficará mais fácil.
Quando os arrays do PowerShell são úteis?
O grande problema em criar scripts sem arrays é o caos de variáveis — muitos nomes de variáveis únicos, fáceis de esquecer ou referenciar incorretamente. Usar arrays restringe todos os dados relacionados a um único contêiner gerenciável, reduzindo erros e tornando os scripts mais organizados. Isso é especialmente verdadeiro em automação, onde as saídas de cmdlets são objetos que precisam ser armazenados em algum lugar, e os arrays são perfeitos para isso. Lembre-se apenas de que, se você estiver extraindo dados de um cmdlet, como objetos do PowerShell, você pode direcioná-los para um array para melhor manipulação.
Sim, é meio estranho no começo, mas depois que você começa a usar arrays de forma eficaz, os scripts tendem a ficar mais limpos e fáceis de manter. Só tome cuidado com os tipos e índices — porque, claro, o PowerShell tem que complicar as coisas mais do que o necessário.
Artigos Relacionados
Este artigo foi útil?