Interpolazione di una stringa

PowerShell:
Interpolazione di una stringa

How to:

Interpolare una stringa in PowerShell è semplice: usate il doppio apice " " e inserite variabili con il simbolo del dollaro $ seguito dal nome della variabile. Per esempio:

$nome = "Luca"
$età = 28
$saluto = "Ciao, mi chiamo $nome e ho $età anni."
Write-Output $saluto

Risultato:

Ciao, mi chiamo Luca e ho 28 anni.

Potete anche usare espressioni all’interno dell’interpolazione, tipo così:

$ora = Get-Date
Write-Output "Ora esatta: $($ora.ToString('HH:mm:ss'))"

Risultato:

Ora esatta: 14:35:07

Deep Dive

In PowerShell, l’interpolazione di stringhe è stata introdotta con la versione 2.0. È un bel miglioramento rispetto all’antico metodo di concatenazione di stringhe, che rendeva il codice più macchinoso e difficile da leggere.

Ad esempio, senza interpolazione, il codice di sopra sarebbe stato:

$nome = "Luca"
$età = 28
$saluto = "Ciao, mi chiamo " + $nome + " e ho " + $età.ToString() + " anni."
Write-Output $saluto

Menomale che ora possiamo semplificare, eh?

Oltre all’interpolazione, potete sempre utilizzare il formato stringa, specialmente quando volete più controllo sulla formattazione, tramite l’operatore -f:

$nome = "Luca"
$età = 28
$saluto = "Ciao, mi chiamo {0} e ho {1} anni." -f $nome, $età
Write-Output $saluto

See Also

Per approfondire l’interpolazione di stringhe e le altre tecniche di formattazione in PowerShell, ecco qualche link utile: