Elképzelhető, hogy egy függvényből nem a legvégén akarunk kilépni, mert időközben egy elágazás alapján már nem kell további műveletet végezni. Ennek egyik oka lehet valamilyen hiba, amit a 1.6.2.3 Hibajelzés fejezetben látott throw kulcsszóval jelezni tudunk, és itt a függvény végrehajtása meg is szakad.
Ha nem hiba miatt, hanem „normális” módon akarunk egy függvényből kilépni, akkor erre használhatjuk a return kulcsszót.
[11] PS C:\>function típus ($i)
>> {
>> switch ($i)
>> {
>> {$i -is [int32]} {"Egész" ; return}
>> {$i -is [double]} {return "Akár tört"}
>> {$i -is [string]} {return "Szöveg"}
>> }
>> "Nem igazán tudom, hogy mi az, hogy $i"
>> }
>>
[12] PS C:\>típus 32
Egész
[13] PS C:\>típus "bla"
Szöveg
[14] PS C:\>típus (get-date)
Nem igazán tudom, hogy mi az, hogy 04/15/2008 09:47:04
A példafüggvényemben típust vizsgálok a switch kulcsszó segítségével. Először vizsgálom, hogy az $i paraméter egész-e? Ha igen, akkor kiírom, hogy „Egész” és kilépek a függvényből. Használhattam volna a break kulcsszót is, de az csak a switch-ből lépett volna ki és végrehajtotta volna a függvény utolsó utasítását is.
A return másik szintaxisát használtam az „Akár tört” és a „Szöveg” ágon, azaz a függvény outputja lesz a return paramétere.
Látszik, hogy csak nagyon ritkán elkerülhetetlen a return alkalmazása, hiszen az én példámban is tehettük volna azt is, hogy a „Nem igazán tudom...” kiírást berakjuk a switch default ágába is, illetve a return-ök helyett alkalmazhattam volna break-et is (ha nem akartam volna kikerülni a függvény végén található kifejezéseket). Mindenesetre bizonyos helyzetekben jól jöhet a return, tudjunk róla!