about_Return
Kısa açıklama
İşlev, betik veya betik bloğu olabilecek geçerli kapsamdan çıkar.
Uzun açıklama
return
anahtar sözcüğü bir işlev, betik veya betik bloğundan çıkar. Belirli bir noktada bir kapsamdan çıkmak, bir değer döndürmek veya kapsamın sonuna ulaşıldığını belirtmek için kullanılabilir.
C veya C# gibi dilleri bilen kullanıcılar, bir kapsamı açık bırakma mantığını açık hale getirmek için anahtar sözcüğünü kullanmak return
isteyebilir.
PowerShell'de her deyimin sonuçları, Return anahtar sözcüğünü içeren bir deyim olmadan bile çıkış olarak döndürülür. C veya C# gibi diller yalnızca anahtar sözcüğü tarafından return
belirtilen değeri veya değerleri döndürür.
Not
PowerShell 5.0 sürümünden başlayarak, PowerShell biçimsel söz dizimi kullanarak sınıfları tanımlamak için dil ekledi. PowerShell sınıfı bağlamında, deyimini kullanarak return
belirttiğiniz yöntem dışında hiçbir şey bir yöntemden çıkarılır. about_Classes PowerShell sınıfları hakkında daha fazla bilgi edinebilirsiniz.
Sözdizimi
Anahtar sözcüğün return
söz dizimi aşağıdaki gibidir:
return [<expression>]
Anahtar return
sözcük tek başına görünebilir veya ardından aşağıdaki gibi bir değer veya ifade gelebilir:
return
return $a
return (2 + $a)
Örnekler
Aşağıdaki örnek, bir koşullu karşılanırsa return
belirli bir noktada işlevden çıkmak için anahtar sözcüğünü kullanır. Tek sayılar çarpılmaz çünkü dönüş deyimi, bu deyimin yürütülebilmesinden önce çıkar.
function MultiplyEven
{
param($number)
if ($number % 2) { return "$number is not even" }
$number * 2
}
1..10 | ForEach-Object {MultiplyEven -Number $_}
1 is not even
4
3 is not even
8
5 is not even
12
7 is not even
16
9 is not even
20
PowerShell'de anahtar sözcük kullanılmasa return
bile değerler döndürülebilir.
Her deyimin sonuçları döndürülür. Örneğin, aşağıdaki deyimler değişkeninin $a
değerini döndürür:
$a
return
Aşağıdaki deyim değerini de döndürür $a
:
return $a
Aşağıdaki örnek, kullanıcıya işlevin bir hesaplama gerçekleştirdiğini bildirmeye yönelik bir deyim içerir:
function calculation {
param ($value)
"Please wait. Working on calculation..."
$value += 73
return $value
}
$a = calculation 14
"Lütfen bekleyin. Hesaplama üzerinde çalış..." dizesi görüntülenmez. Bunun yerine, aşağıdaki örnekte olduğu gibi değişkenine $a
atanır:
PS> $a
Please wait. Working on calculation...
87
Hem bilgi dizesi hem de hesaplamanın sonucu işlev tarafından döndürülür ve değişkene $a
atanır.
İşlevinizde PowerShell 5.0'dan başlayarak bir ileti görüntülemek isterseniz akışı kullanabilirsiniz Information
. Aşağıdaki kod, devam ile cmdlet'ini Write-Information
InformationAction
kullanarak yukarıdaki örneği düzeltmektedir.
function calculation {
param ($value)
Write-Information "Please wait. Working on calculation..." -InformationAction Continue
$value += 73
return $value
}
$a = calculation 14
Please wait. Working on calculation...
C:\PS> $a
87
Dönüş değerleri ve İşlem Hattı
Betik bloğunuzdan veya işlevinizden bir koleksiyon döndürdiğinizde PowerShell üyelerin kaydını otomatik olarak kaldırır ve bunları işlem hattı üzerinden birer birer geçirir. Bunun nedeni PowerShell'in bir kerede bir işlemesidir. Daha fazla bilgi için bkz . about_pipelines.
Bu kavram, bir sayı dizisi döndüren aşağıdaki örnek işlevle gösterilmiştir. İşlevden elde edilen çıkış, işlem hattındaki Measure-Object
nesne sayısını sayan cmdlet'ine yöneltilir.
function Test-Return
{
$array = 1,2,3
return $array
}
Test-Return | Measure-Object
Count : 3
Average :
Sum :
Maximum :
Minimum :
Property :
Bir betik bloğunu veya işlevi, koleksiyonu işlem hattına tek bir nesne olarak döndürmeye zorlamak için aşağıdaki iki yöntemden birini kullanın:
Birli dizi ifadesi
Birli ifade kullanarak, aşağıdaki örnekte gösterildiği gibi dönüş değerinizi işlem hattına tek bir nesne olarak gönderebilirsiniz.
function Test-Return { $array = 1,2,3 return (, $array) } Test-Return | Measure-Object
Count : 1 Average : Sum : Maximum : Minimum : Property :
Write-Output
NoEnumerate parametresiyle.Cmdlet'ini
Write-Output
NoEnumerate parametresiyle de kullanabilirsiniz. Aşağıdaki örnek, anahtar sözcüğüyleMeasure-Object
örnek işlevden işlem hattına gönderilen nesneleri saymak için cmdlet'inireturn
kullanır.function Test-Return { $array = 1, 2, 3 return Write-Output -NoEnumerate $array } Test-Return | Measure-Object
Count : 1 Average : Sum : Maximum : Minimum : Property :
Ayrıca bkz.
PowerShell
Geri Bildirim
https://aka.ms/ContentUserFeedback.
Çok yakında: 2024 boyunca, içerik için geri bildirim mekanizması olarak GitHub Sorunları’nı kullanımdan kaldıracak ve yeni bir geri bildirim sistemiyle değiştireceğiz. Daha fazla bilgi için bkz.Gönderin ve geri bildirimi görüntüleyin