PowerShell:
Organizacja kodu w funkcje
Jak to zrobić:
Napiszmy funkcję do obliczania sumy dwóch liczb. Proste, ale ilustruje to, o co chodzi.
function Dodaj-Liczby {
param (
[int]$PierwszaLiczba,
[int]$DrugaLiczba
)
return $PierwszaLiczba + $DrugaLiczba
}
# Wywołanie funkcji z liczbami 5 i 10
$suma = Dodaj-Liczby -PierwszaLiczba 5 -DrugaLiczba 10
Write-Output "Suma wynosi $suma"
Przykładowe wyjście:
Suma wynosi 15
Dogłębna analiza
Funkcje w PowerShellu, jak w większości języków, nie są nowością. Kod kompartmentalizujemy od czasów Fortranu. Chodzi o ’nie wynalezanie koła na nowo’. Alternatywy? Pewnie, skrypty lub polecenia cmdlet. Ale brakuje im schludności i kontekstowej czułości funkcji w skryptach.
Implementacja? Funkcje mogą być podstawowe jak w naszym przykładzie lub złożone ze zmiennymi zasięgami, wejściem potokowym i więcej. Weźmy na przykład ‘Zaawansowane funkcje’. Naśladują cmdlety z parametrami mającymi atrybuty, takie jak [Parameter(Mandatory=$true)]
. To tylko przykład elastyczności PowerShellu.