about_Return
Rövid leírás
Kilép az aktuális hatókörből, amely lehet függvény, szkript vagy szkriptblokk.
Hosszú leírás
A return
kulcsszó kilép egy függvényből, szkriptből vagy szkriptblokkból. Használható egy adott ponton lévő hatókörből való kilépésre, egy érték visszaadására, vagy a hatókör végének jelzésére.
Azok a felhasználók, akik ismerik az olyan nyelveket, mint a C vagy a C#, érdemes lehet a return
kulcsszót használni a hatókör elhagyásának logikájának explicitvé ására.
A PowerShellben az egyes utasítások eredményei kimenetként lesznek visszaadva, még a Return kulcsszót tartalmazó utasítás nélkül is. Az olyan nyelvek, mint a C vagy a C# csak a kulcsszó által return
megadott értéket vagy értékeket adja vissza.
Feljegyzés
A PowerShell 5.0-tól kezdődően a PowerShell formális szintaxissal hozzáadott nyelvet adott hozzá az osztályok meghatározásához. Egy PowerShell-osztály kontextusában semmi sem kimenet egy metódusból, kivéve azt, amit egy return
utasítással ad meg. A PowerShell-osztályokról a about_Classes olvashat bővebben.
Syntax
A kulcsszó szintaxisa a return
következő:
return [<expression>]
A return
kulcsszó önállóan is megjeleníthető, vagy egy érték vagy kifejezés követhető az alábbiak szerint:
return
return $a
return (2 + $a)
Példák
Az alábbi példa a return
kulcsszó használatával lép ki egy függvényből egy adott ponton, ha teljesül egy feltételes feltétel. A páratlan számok nem szorozódnak meg, mert a visszatérési utasítás az utasítás végrehajtása előtt kilép.
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
A PowerShellben az értékek akkor is visszaadhatók, ha a return
kulcsszó nincs használatban.
Az egyes utasítások eredményei lesznek visszaadva. A következő utasítások például a változó értékét $a
adja vissza:
$a
return
Az alábbi utasítás a következő értéket is visszaadja $a
:
return $a
Az alábbi példa egy utasítást tartalmaz, amely tudatja a felhasználóval, hogy a függvény számítást végez:
function calculation {
param ($value)
"Please wait. Working on calculation..."
$value += 73
return $value
}
$a = calculation 14
A "Kérjük, várjon. Számításon dolgozik..." a sztring nem jelenik meg. Ehelyett a $a
változóhoz van rendelve, ahogy az alábbi példában is látható:
PS> $a
Please wait. Working on calculation...
87
A függvény az információs sztringet és a számítás eredményét is visszaadja, és hozzárendeli a $a
változóhoz.
Ha egy üzenetet szeretne megjeleníteni a függvényben, a PowerShell 5.0-tól kezdve használhatja a Information
streamet. Az alábbi kód a fenti példát a Folytatás parancsmaggal Write-Information
InformationAction
korrigálja.
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
Értékek és a folyamat visszaadása
Amikor egy gyűjteményt ad vissza a szkriptblokkból vagy a függvényből, a PowerShell automatikusan megszünteti a tagok regisztrációját, és egyenként átadja őket a folyamaton keresztül. Ez a PowerShell egyszeri feldolgozásának köszönhető. További információ: about_pipelines.
Ezt a fogalmat az alábbi mintafüggvény szemlélteti, amely számtömböt ad vissza. A függvény kimenete a parancsmagra Measure-Object
van állítva, amely megszámolja a folyamat objektumainak számát.
function Test-Return
{
$array = 1,2,3
return $array
}
Test-Return | Measure-Object
Count : 3
Average :
Sum :
Maximum :
Minimum :
Property :
Ha azt szeretné, hogy egy szkriptblokk vagy függvény egyetlen objektumként adja vissza a gyűjteményt a folyamathoz, használja az alábbi két módszer egyikét:
Unary tömbkifejezés
Ha egy unary kifejezést használ, a visszatérési értéket egyetlen objektumként küldheti el a folyamatba, ahogy az alábbi példában is látható.
function Test-Return { $array = 1,2,3 return (, $array) } Test-Return | Measure-Object
Count : 1 Average : Sum : Maximum : Minimum : Property :
Write-Output
NoEnumerate paraméterrel.A parancsmagot a
Write-Output
NoEnumerate paraméterrel is használhatja . Az alábbi példa aMeasure-Object
parancsmaggal számolja meg a kulcsszó általreturn
a mintafüggvényből a folyamatnak küldött objektumokat.function Test-Return { $array = 1, 2, 3 return Write-Output -NoEnumerate $array } Test-Return | Measure-Object
Count : 1 Average : Sum : Maximum : Minimum : Property :
Lásd még
Visszajelzés
https://aka.ms/ContentUserFeedback.
Hamarosan elérhető: 2024-ben fokozatosan kivezetjük a GitHub-problémákat a tartalom visszajelzési mechanizmusaként, és lecseréljük egy új visszajelzési rendszerre. További információ:Visszajelzés küldése és megtekintése a következőhöz: