Come passare un array a una funzione in PowerShell

  1. Array di PowerShell
  2. Passare un Array a una Funzione PowerShell
  3. Conclusione
Come passare un array a una funzione in PowerShell

In molti linguaggi di programmazione, incluso PowerShell, gli array sono una struttura dati fondamentale. Permettono di memorizzare collezioni di valori in modo efficiente, rendendoli uno strumento cruciale per vari compiti nella scrittura di script in PowerShell.

Questo articolo si concentrerà sugli array e sulla convenzione di passare un array a una funzione in PowerShell.

Array di PowerShell

Gli array di PowerShell non sono diversi da quegli array nei linguaggi di programmazione generali come Java, Python, C#, ecc. Forniscono la capacità di contenere collezioni di valore o oggetti di qualsiasi tipo di dato di dimensioni fisse.

Sintassi:

$intTypeArray = 34, 100, 1000, 45, 455, 1

Per controllare il tipo della variabile $intTypeArray nel seguente esempio, utilizzeremo il metodo integrato GetType().

controlla il tipo della variabile 1

Come previsto, il tipo base è System.Array. Poiché non abbiamo specificato esplicitamente il tipo di dato di questo array, il motore di PowerShell lo ha creato come un array di oggetti.

In modo interessante, gli array di PowerShell possono contenere tipi diversi di elementi all’interno di un singolo array, come esemplificato nel frammento di codice sottostante.

Codice:

$mixedElementArray = 200, 'stringElement', 12.555, 'hello'

Output:

controlla il tipo della variabile 2

Come puoi vedere, l’array predefinito di PowerShell si basa sul tipo Object[].

In PowerShell, ogni valore o oggetto è ereditato da Object. Quindi, qualsiasi valore o oggetto è assegnabile a un array predefinito di PowerShell.

Oltre agli array predefiniti, PowerShell offre una variante nota come array fortemente tipizzati. Questi array accolgono esclusivamente collezioni di un tipo di dato specifico.

Quando creiamo un array fortemente tipizzato, è necessario castare la variabile di riferimento a un tipo di array specifico come int32[], string[], ecc.

[string[]]$stringTypeArray = 'tesla', 'mecedes', 'audi', 'lambo'

Controlliamo il tipo di $stringTypeArray.

$stringTypeArray.GetType()

Output:

controlla il tipo della variabile 3

Passare un Array a una Funzione PowerShell

In PowerShell, gli array fortemente tipizzati sono consigliati da utilizzare nei tuoi programmi PowerShell perché offrono sicurezza di tipo. Ogni volta che devi passare un array già definito a una funzione, la seguente sintassi dovrebbe funzionare correttamente.

Sintassi:

function <function_identifier>([<data_type>[]]$<parameter_name>)
{

}

In questa sintassi:

  • function: Denota la parola chiave utilizzata per iniziare la definizione di una funzione in PowerShell.
  • <function_name>: Rappresenta il nome della funzione.
  • [<data_type>[]]: Specifica il tipo di dato del parametro, consentendoti di lavorare con array del tipo di dato specificato all’interno della funzione.
  • $<parameter_name>: Funziona come il nome del parametro all’interno della funzione.

In questo modo, puoi facilmente passare un array a una funzione. Per illustrare ciò, prima definiamo una funzione PowerShell chiamata letsPassAnArray.

Codice:

function letsPassAnArray([string[]]$stringList) {
    foreach ($arrEle in $stringList) {
        Write-Host $arrEle
    }
}

In questo esempio, definiamo una funzione PowerShell chiamata letsPassAnArray con un parametro di nome $stringList. Poi, iniziamo un ciclo foreach per iterare attraverso ogni elemento ($arrEle) nell’array $stringList.

Dentro il ciclo, scriviamo ogni elemento dell’array sulla console. Per testare la funzione, creiamo un array di tipo stringa chiamato $stringArr con elementi 'Apple', 'Orange', e 'Grapes'.

Codice:

[string[]]$stringArr = 'Apple', 'Orange', 'Grapes'
letsPassAnArray($stringArr)

Infine, chiamiamo la funzione letsPassAnArray e passiamo l’array $stringArr come argomento, causando alla funzione di iterare e stampare ogni elemento dell’array.

Output:

Passa un array a una funzione PowerShell

Conclusione

In PowerShell, comprendere gli array e come passarli alle funzioni è essenziale per una scrittura di script efficiente e organizzata. Che tu stia lavorando con array generici che possono contenere vari tipi di dato o array fortemente tipizzati per la sicurezza di tipo, padroneggiare la manipolazione degli array ti permetterà di scrivere script PowerShell più efficaci.

Ti piacciono i nostri tutorial? Iscriviti a DelftStack su YouTube per aiutarci a creare altre guide video di alta qualità. Iscriviti
Migel Hewage Nimesha avatar Migel Hewage Nimesha avatar

Nimesha is a Full-stack Software Engineer for more than five years, he loves technology, as technology has the power to solve our many problems within just a minute. He have been contributing to various projects over the last 5+ years and working with almost all the so-called 03 tiers(DB, M-Tier, and Client). Recently, he has started working with DevOps technologies such as Azure administration, Kubernetes, Terraform automation, and Bash scripting as well.

Articolo correlato - PowerShell Array