Como usar hashtables no PowerShell

Como usar hashtables no PowerShell
Hashtables são usados ​​para armazenar valores que contêm uma chave. Por exemplo, você tem um armário; Somente se você tiver as chaves, você abrirá a fechadura. O mesmo é o caso de hashtables. Vejamos outro cenário. Suponha que você esteja procurando um livro em uma biblioteca, e você comece pegando o livro mais próximo da porta da frente, depois do próximo livro, e assim por diante. Encontrar o livro que você deseja levaria muito tempo.

Como alternativa, você pode verificar o índice da biblioteca, que fornecerá uma localização aproximada do livro. A funcionalidade de uma hashtable é semelhante a um índice de biblioteca. Hashtables permitem que os programas recuperem dados de forma previsível e rápida. Tecnologias como o Google, que analisam dados em terabytes e o tornam pesquisável em um segundo, seria impossível sem implementar hashtables em seu código.

O que são hashtables em PowerShell?

Hashtables são as estruturas de dados mais úteis no PowerShell. Uma hashtable é composta por uma série de pares de "chave" e "valor". Essas tabelas podem ser utilizadas de muitas maneiras diferentes. Utilize -os como tabelas de pesquisa de dados, permitindo que você consulte a hashtable com base em sua chave e recupere o valor associado. Ajudaria a localizar o contêiner correspondente ao “chave"Para recuperar seu"valor”.

Na prática, a utilização de chaves como uma pesquisa de dados é eficiente e pode ajudar a cache. Se você tiver uma grande quantidade de dados de referência e não deseja consultá -los em um banco de dados regularmente, pode usar a hashtable para armazenar em cache o resultado e salvá -lo para acessá -lo mais rapidamente. Essas tabelas não permitem a adição de “NULO”Valores, que ajudam você a salvar a memória.

Este artigo vai te mostrar Como usar hashtables no PowerShell. Então, vamos começar!

Como usar hashtables no PowerShell

Primeiro de tudo, abra seu “Windows PowerShell Ise”Ao pesquisá -lo manualmente na caixa de pesquisa:

No arquivo, selecione a opção “Novo”E crie um novo script do PowerShell:

Agora, crie uma hashtable simples declarando -a em seu script PowerShell. Especifique seu nome de hashtable com o “$”Variável e defina seu valor dentro dos aparelhos encaracolados“@”.

$ colorlist = @id = 1; Shape = "quadrado"; Color = "azul"
$ colorlist

Em nosso script, declaramos um hashtable chamado “$Lista de cores"Ter as chaves"EU IA, Forma, Cor”Com seus respectivos valores:“1, Quadrado, Azul”.

Salve este script como “testfile1.ps1”E execute este script PowerShell:

A execução do “testfile1.ps1”Mostrará a seguinte saída:

Você também pode definir “chaves"E seu"valores”Como variáveis ​​separadas. Depois disso, você usa o “adicionar()”Função para adicionar chaves e seus valores na hashtable.

$ key = 'Dave'
$ valor = 36
$ AGELIST.Adicionar ($ key, $ valor)
$ AGELIST.Add ('Alex', 9)
$ AGELIST

Neste script, passamos “Dave" e "36" como "$ key" e "$ valor”Como variáveis ​​no“adicionar()”Função. Em contraste, "Alex" e "9”São passados ​​diretamente na mesma função. Ambas as declarações de chamada de funções adicionarão chaves e valores na hashtable.

Como acessar valores de hashtable in PowerShell

Você viu o método de adicionar chaves e seus valores na hashtable. Da mesma forma, você pode acessar a chave com seu respectivo valor.

$ agelist = @
$ key = 'kevin'
$ valor = 36
$ agelist [$ key] = $ valor
$ agelist ['Alex'] = 9
$ AGELIST

Como declarar hashtable com valores em PowerShell

PowerShell fornece dois métodos para criar uma hashtable. O primeiro é criar uma hashtable vazia e depois adicionar o “chaves" e "valores" iniciar. Em outro método, você pode declarar uma hashtable com seu “chaves" e valores" de uma vez só. O exemplo abaixo do ritmo demonstrará esse conceito para você:

$ agelist = @
Kevin = 36
Alex = 9

$ AGELIST

Como iterar hashtables em PowerShell

A hashtable é uma combinação de chaves e valores; É iterado de uma maneira diferente de uma matriz ou uma lista regular de objetos. A primeira coisa que você deve notar no comando abaixo do goleiro é que estamos canalizando nossa hashtable usando o operador de tubo ["|”]; O operador de tubo trata a hashtable como um objeto. Considerando que a "Medida-objeto”O comando é utilizado para extrair os valores da propriedade da hashtable.

> $ AGELIST | Medida-objeto

A execução do comando acima, exibirá a seguinte saída em seu PowerShell:

Você também pode usar o “Getenumerator ()”Método para fins de iteração sobre a hashtable. Use esta função com o “Foreach-object”, Ele mostrará a chave e seu valor emparelhado um após o outro.

$ AGELIST.Getenumerator () | Foreach-object
$ message = '0 tem 1 anos!'-f $ _.chave, $ _.valor
Write-Output $ mensagem

Como verificar o número de valores de hashtable no PowerShell

O ".contar”A propriedade é usada para calcular o número total de valores em sua hashtable. Você pode usar esta propriedade com sua hashtable da seguinte maneira:

> $ AGELIST.contar

Como encomendar a chave/valores de hashtable no PowerShell

Quando você deseja que suas chaves e valores de hashtable estejam na ordem em que você as define, você pode especificar o “[ordenado]Palavra -chave ao declarar sua hashtable no script:

$ pessoa = [ordenado]@
Nome = 'Kevin'
idade = 36

$ pessoa

Executar este “testfile1.ps1”O script, e ele imprimirá as chaves e seus valores em ordem pelos quais os definimos em nosso script:

Sem o [ordenado] Opção, o script mostrará a seguinte saída:

Conclusão

Hashtables são bastante significativos em Powershell que pode ser utilizado em cenários administrativos e de script mais avançados. O uso de hashtable por PowerShell também demonstra como a saída útil do PowerShell como objetos pode ser. Para praticamente qualquer tipo de dados, hashtables são uma maneira eficaz de armazenar como pares de chave/valor.

Esse padrão ajuda a localizar o recipiente que corresponde ao “chave"Para recuperar seu"valor”; Na prática, a utilização de chaves como uma pesquisa de dados é eficiente e útil no cache. Neste artigo, mostramos a você Como usar hashtables Em PowerShell, incluindo o método de criar um hashtable, declarar e acessar seus valores, verificando, ordenando valores de hashtable.