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.

Zobacz także