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: