PowerShell İşlevleri: Dönüş Değerleri ve Çoklu Değerler


Bu eğitimde, hem tekli hem de çoklu değerleri döndüren PowerShell işlevleriyle nasıl çalışılacağı açıklanmaktadır. Örnekler vereceğim ve size bir PowerShell işlevinden birden fazla değerin nasıl döndürüleceğini göstereceğim.

PowerShell işlevi örneği dönüş değeri

PowerShell'deki işlevlerde yeniyseniz, burada bir işlevi bildirmeye yönelik sözdizimi verilmiştir.

function Get-Greeting {
    param (
        [string]$Name
    )
    "Hello, $Name!"
}

Bu örnekte, Get-Greeting işlevi tek bir $Name parametresini alır ve bir karşılama dizesi döndürür.

PowerShell işlevinden Tek Değer döndürme

PowerShell'de, return anahtar sözcüğünü kullanarak veya yalnızca değerin çıktısını alarak bir işlevden değer döndürebilirsiniz. Bunu nasıl yapabileceğiniz aşağıda açıklanmıştır:

function Get-Square {
    param (
        [int]$Number
    )
    return $Number * $Number
}

# Usage
$result = Get-Square -Number 5
Write-Output $result

Bu örnekte Get-Square işlevi, giriş sayısının karesini hesaplar ve onu return anahtar sözcüğünü kullanarak döndürür.

Yukarıdaki betiği VS kodunu kullanarak çalıştırdıktan sonra çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz.

Alternatif olarak, return kullanmadan da değerin çıktısını doğrudan alabilirsiniz:

function Get-Square {
    param (
        [int]$Number
    )
    $Number * $Number
}

# Usage
$result = Get-Square -Number 5
Write-Output $result  # Output: 25

Her iki yöntem de geçerlidir, ancak return anahtar sözcüğünün kullanılması, işlevin bir değer döndürmeyi amaçladığını daha açık hale getirebilir.

Parametrelerle PowerShell İşlev Örneklerini Okuyun

Bir Fonksiyondan Birden Çok Değer Döndürme

Çeşitli yöntemleri kullanarak PowerShell'deki bir işlevden birden çok değer de döndürebilirsiniz.

Dizi Kullanma

PowerShell işlevinden birden çok değer döndürmenin bir yolu dizi kullanmaktır. İşte bir örnek:

function Get-Coordinates {
    param (
        [int]$X,
        [int]$Y
    )
    return @($X, $Y)
}

# Usage
$coords = Get-Coordinates -X 10 -Y 20
Write-Output "X: $($coords[0]), Y: $($coords[1])"

Bu örnekte, Get-Coorders işlevi X ve Y koordinatlarını içeren bir dizi döndürür.

Çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz:

Hashtable kullanma

Ayrıca, adlandırılmış değerleri döndürmenize olanak tanıyan karma tablosu kullanarak bir diziden birden çok değer döndürebilirsiniz. İşte bir örnek:

function Get-UserInfo {
    param (
        [string]$Name,
        [int]$Age
    )
    return @{
        Name = $Name
        Age  = $Age
    }
}

# Usage
$userInfo = Get-UserInfo -Name "Alice" -Age 30
Write-Output "Name: $($userInfo.Name), Age: $($userInfo.Age)"  # Output: Name: Alice, Age: 30

Burada Get-UserInfo işlevi kullanıcının adını ve yaşını içeren bir hash tablosu döndürür.

Özel Bir Nesne Kullanmak

Bir PowerShell işlevinden, özel bir nesne kullanarak birden çok değer de döndürebilirsiniz. İşte bir örnek:

function Get-Employee {
    param (
        [string]$Name,
        [string]$Title
    )
    $employee = [PSCustomObject]@{
        Name  = $Name
        Title = $Title
    }
    return $employee
}

# Usage
$employee = Get-Employee -Name "John Doe" -Title "Manager"
Write-Output "Name: $($employee.Name), Title: $($employee.Title)"  # Output: Name: John Doe, Title: Manager

Bu örnekte, Get-Employee, Name ve Title özelliklerine sahip özel bir nesne döndürür.

PowerShell'de Try-Catch'ı okuyun

PowerShell İşlevleri: Parametreleri Kullanma ve Değerleri Döndürme

Bu bölümde parametreler ve dönüş değerleri ile birkaç PowerShell fonksiyon örneği göstereceğim.

Mesela şimdi size parametrelerle ve dönüş değerleriyle fonksiyonları nasıl tanımlayacağınızı göstereceğim.

Parametrelerle PowerShell İşlevi

PowerShell'de parametrelerle bir işlev tanımlamak için param bloğunu kullanırsınız. İşte basit bir örnek:

function Get-Greeting {
    param (
        [string]$Name
    )
    "Hello, $Name!"
}

# Usage
$greeting = Get-Greeting -Name "Alice"
Write-Output $greeting  # Output: Hello, Alice!

Bu örnekte, Get-Greeting işlevi tek bir $Name parametresini alır ve bir karşılama dizesi döndürür.

Tek Değer Döndürmek

return anahtar sözcüğünü kullanarak veya yalnızca değerin çıktısını alarak bir işlevden değer döndürebilirsiniz. İşte bir örnek:

function Get-Square {
    param (
        [int]$Number
    )
    return $Number * $Number
}

# Usage
$result = Get-Square -Number 5
Write-Output $result  # Output: 25

Bu örnekte Get-Square işlevi, giriş sayısının karesini hesaplar ve onu return anahtar sözcüğünü kullanarak döndürür.

Alternatif olarak, return kullanmadan da değerin çıktısını doğrudan alabilirsiniz:

function Get-Square {
    param (
        [int]$Number
    )
    $Number * $Number
}

# Usage
$result = Get-Square -Number 5
Write-Output $result  # Output: 25

Her iki yöntem de geçerlidir, ancak return kullanmak, işlevin bir değer döndürmeyi amaçladığını daha açık bir şekilde ortaya koyabilir.

Birden Çok Parametre Kullanma

Bir PowerShell işlevinde birden çok parametreye sahip işlevler tanımlayabilirsiniz. İşte bir örnek:

function Add-Numbers {
    param (
        [int]$FirstNumber,
        [int]$SecondNumber
    )
    return $FirstNumber + $SecondNumber
}

# Usage
$sum = Add-Numbers -FirstNumber 10 -SecondNumber 20
Write-Output $sum 

Bu örnekte, Add-Numbers işlevi iki parametreyi alır, bunları birbirine ekler ve sonucu döndürür.

Parametreli ve Çoklu Değer Döndüren PowerShell İşlevi

Birden çok değer döndüren parametreli PowerShell işlevinin birkaç örneğini burada bulabilirsiniz

Dizi Kullanma

Burada parametreli ve bir dizi kullanarak birden çok değer döndüren bir PowerShell işlevi örneği verilmiştir:

function Get-Coordinates {
    param (
        [int]$X,
        [int]$Y
    )
    return @($X, $Y)
}

# Usage
$coords = Get-Coordinates -X 10 -Y 20
Write-Output "X: $($coords[0]), Y: $($coords[1])"  # Output: X: 10, Y: 20

Bu örnekte, Get-Coorders işlevi X ve Y koordinatlarını içeren bir dizi döndürür.

Hashtable kullanma

Burada, Hashtable kullanarak birden çok değer döndüren parametrelere sahip bir PowerShell işlevinin örneği verilmiştir.

function Get-UserInfo {
    param (
        [string]$Name,
        [int]$Age
    )
    return @{
        Name = $Name
        Age  = $Age
    }
}

# Usage
$userInfo = Get-UserInfo -Name "Alice" -Age 30
Write-Output "Name: $($userInfo.Name), Age: $($userInfo.Age)"

Burada, Get-UserInfo işlevi kullanıcının adını ve yaşını içeren bir hash tablosu döndürür.

Çıktıyı aşağıdaki ekran görüntüsünde görebilirsiniz:

Özel Bir Nesne Kullanmak

Burada, özel bir nesne kullanarak birden çok değer döndüren parametrelere sahip bir PowerShell işlevi örneği verilmiştir.

function Get-Employee {
    param (
        [string]$Name,
        [string]$Title
    )
    $employee = [PSCustomObject]@{
        Name  = $Name
        Title = $Title
    }
    return $employee
}

# Usage
$employee = Get-Employee -Name "John Doe" -Title "Manager"
Write-Output "Name: $($employee.Name), Title: $($employee.Title)"  # Output: Name: John Doe, Title: Manager

Bu örnekte, Get-Employee, Name ve Title özelliklerine sahip özel bir nesne döndürür.

Çözüm

Bu PowerShell eğitimimde dönüş değerleri ile PowerShell fonksiyonunu anlattım ve parametre alıp tekli ve çoklu değer döndüren PowerShell fonksiyonlarından bazı örnekler gösterdim.

Bir dizi, hash tablosu veya karmaşık nesneler kullanarak bir PowerShell işlevinden birden çok değer döndürebilirsiniz.

Hala sorularınız varsa aşağıya yorum bırakmaktan çekinmeyin.

İlgili makaleler