Eu vi o símbolo @ usado no PowerShell para inicializar arrays. O que exatamente o símbolo @ denota e onde posso ler mais sobre isso?
syntax
powershell
GrahamMc
fonte
fonte
No PowerShell V2, @ também é o operador Splat .
fonte
Embora as respostas acima forneçam a maior parte da resposta, é útil - mesmo tão tarde para a pergunta - fornecer a resposta completa, a saber:
Subexpressão de matriz (consulte about_arrays )
Força o valor a ser uma matriz, mesmo se um singleton ou nulo, por exemplo
$a = @(ps | where name -like 'foo')
Inicializador de hash (consulte about_hash_tables )
Inicializa uma tabela hash com pares de valores-chave, por exemplo
$HashArguments = @{ Path = "test.txt"; Destination = "test2.txt"; WhatIf = $true }
Splatting (consulte about_splatting )
Vamos invocar um cmdlet com parâmetros de uma matriz ou uma tabela hash em vez dos parâmetros enumerados individualmente mais comuns, por exemplo, usando a tabela hash logo acima,
Copy-Item @HashArguments
Aqui, strings (veja about_quoting_rules )
Vamos criar strings com aspas facilmente incorporadas, normalmente usadas para strings multilinhas, por exemplo:
Como esse tipo de pergunta ( o que a notação 'x' significa no PowerShell? ) É tão comum aqui no StackOverflow, bem como em muitos comentários de leitores, eu reuni um léxico de pontuação do PowerShell, recém-publicado no Simple-Talk.com. Leia tudo sobre @, bem como% e # e $ _ e? e mais em The Complete Guide to PowerShell Punctuation . Anexado ao artigo está este gráfico de parede que mostra tudo em uma única folha:
fonte
Você também pode envolver a saída de um cmdlet (ou pipeline)
@()
para garantir que o que você receberá de volta seja uma matriz em vez de um único item.Por exemplo, dir geralmente retorna uma lista, mas dependendo das opções, pode retornar um único objeto. Se você está planejando iterar pelos resultados com um objeto foreach, você precisa ter certeza de obter uma lista de volta. Aqui está um exemplo inventado:
Mais uma coisa ... um array vazio (como inicializar uma variável) é denotado
@()
.fonte
O Operador Splatting
Para criar um array, criamos uma variável e atribuímos o array. As matrizes são identificadas pelo símbolo "@". Vamos pegar a discussão acima e usar uma matriz para se conectar a vários computadores remotos:
Eles são usados para matrizes e hashes.
Tutorial 7 do PowerShell: acumular, recuperar e modificar dados
Literais de matriz em PowerShell
fonte