ARGOMENTO about_Return DESCRIZIONE BREVE Consente di uscire dall'ambito corrente che può essere una funzione, uno script o un blocco di script. DESCRIZIONE DETTAGLIATA La parola chiave Return consente di uscire da una funzione, da uno script o da un blocco di script. Può essere utilizzata per uscire da un ambito in un punto specifico, per restituire un valore o per indicare che è stata raggiunta la fine di un ambito. Gli utenti che hanno familiarità con linguaggi come C o C# possono utilizzare la parola chiave Return per rendere esplicita la logica di uscita da un ambito. In Windows PowerShell, i risultati di ogni istruzione vengono restituiti come output, anche senza un'istruzione che contiene la parola chiave Return. In linguaggi come C o C# vengono restituiti solo il valore o i valori specificati dalla parola chiave Return. Sintassi La sintassi della parola chiave Return è la seguente: return [<espressione>] La parola chiave Return può essere riportata da sola oppure seguita da un valore o espressione, come illustrato di seguito: return return $a return (2 + $a) Esempi Nell'esempio seguente viene utilizzata la parola chiave Return per uscire da una funzione a un punto specifico se viene soddisfatto un requisito condizionale: function ScreenPassword($instance) { if (!($instance.screensaversecure)) {return $instance.name} <istruzioni aggiuntive> } foreach ($a in @(get-wmiobject win32_desktop)) { ScreenPassword($a) } Questo script controlla ogni account utente. La funzione ScreenPassword restituisce il nome di qualsiasi account utente che non dispone di uno screen saver protetto da password. Se lo screen saver è protetto da password, la funzione completa qualsiasi altra istruzione da eseguire e Windows PowerShell non restituisce alcun valore. In Windows PowerShell, è possibile restituire valori anche se non è utilizzata la parola chiave Return. Vengono restituiti i risultati di ogni istruzione. Ad esempio, le istruzioni seguenti restituiscono il valore della variabile $a: $a return L'istruzione seguente restituisce inoltre il valore di $a: return $a L'esempio seguente include un'istruzione che ha lo scopo di informare l'utente che la funzione sta eseguendo un calcolo: function calculation { param ($value) "Attendere. Calcolo in corso..." $value += 73 return $value } L'esecuzione di questa funzione e l'assegnazione del risultato a una variabile hanno l'effetto seguente: C:\PS> $a = calculation 14 C:\PS> La stringa "Attendere. Calcolo in corso..." non viene visualizzata. Viene, viceversa, assegnata alla variabile $a, come nell'esempio seguente: C:\PS> $a Attendere. Calcolo in corso... 87 Sia la stringa informativa che il risultato del calcolo vengono restituiti dalla funzione e assegnati alla variabile $a. VEDERE ANCHE about_Functions about_Scopes about_Script_Blocks