PowerShell:
Interpolacja łańcuchów znaków
How to: (Jak to zrobić:)
# Tworzenie zmiennych
$userName = "Bartek"
$dayOfWeek = Get-Date -Format "dddd"
# Interpolacja napisu
$text = "Cześć, $userName! Dziś jest $dayOfWeek."
Write-Output $text
Wynik:
Cześć, Bartek! Dziś jest środa.
Dodatkowy przykład z użyciem wyrażenia w środku napisu:
$hoursToMeeting = 3
$text = "Do spotkania pozostało: $($hoursToMeeting * 60) minut."
Write-Output $text
Wynik:
Do spotkania pozostało: 180 minut.
Deep Dive (Dogłębna analiza)
Interpolacja napisów nie zawsze była dostępna w językach programowania. W PowerShell pojawiła się jako część ’expandable strings’, gdzie $ można użyć do osadzenia zmiennej wewnątrz napisu. Jeśli potrzebujesz umieścić bardziej skomplikowane wyrażenia, używaj $()
wewnątrz napisu.
Alternatywą w PowerShell jest użycie operatora plus (+
) do łączenia napisów z wartościami, ale to zazwyczaj mniej wygodne niż interpolacja. Naprzykład:
# Przykład bez interpolacji
$text = "Cześć, " + $userName + "! Dziś jest " + $dayOfWeek + "."
Write-Output $text
Interpolacja jest implementowana tak, że w czasie działania programu, środowisko wykonawcze zastępuje wyrażenie zawarte między $
i końcem napisu lub zamkniętym nawiasem $()
wartością tej zmiennej lub wyrażenia.