PowerShell:
Een string interpoleren
Hoe te:
In PowerShell, gebruik je interpolatie met dubbel aangehaalde strings en het $
symbool voor de variabelenaam. Omring expressies met $()
om ze direct binnen de string te evalueren.
$name = "Alex"
$day = (Get-Date).DayOfWeek
# Basis variabele interpolatie
"Hallo, $name! Fijne $dag!"
# Expressie interpolatie
"Pi tot twee decimalen is $(Math::Round([Math]::Pi, 2))"
# Uitvoer
Hallo, Alex! Fijne woensdag!
Pi tot twee decimalen is 3.14
Diepgaand
PowerShell heeft string interpolatie overgenomen van eerdere programmeertalen zoals Perl. Voor PowerShell v3, concateerden we met de +
operator of gebruikten we de -f
formaat operator. Hier is de evolutie:
- Oude-school concatenatie:
"Hallo, " + $name + "! Het is " + $day + "."
- Formaat operator:
"Hallo, {0}! Het is {1}." -f $name, $day
Geïnterpoleerde strings zijn gemakkelijker te lezen en minder foutgevoelig. Achter de schermen interpreteert PowerShell de geïnterpoleerde string en vervangt variabelen of expressies met hun waarden wanneer de string wordt geëvalueerd, niet wanneer deze wordt gedefinieerd.