about_Return
主題
about_Return
簡短描述
結束目前的範圍 (可能是函數、指令碼或指令碼區塊)。
完整描述
Return 關鍵字會結束函數、指令碼或指令碼區塊。它可用來在特定內容處結束範圍、傳回
值,或是表示已到達該範圍的結束位置。
已經熟悉諸如 C 或 C# 等語言的使用者可能想要使用 Return 關鍵字建立讓範圍保持明確
的邏輯。
在 Windows PowerShell 中,每個陳述式的結果都會當做輸出傳回,即使不指定包含 Return
關鍵字的陳述式也一樣。諸如 C 或 C# 等語言只會傳回 Return 關鍵字所指定的值。
語法
Return 關鍵字的語法如下所示:
return [<運算式>]
Return 關鍵字可以單獨出現,也可以在後面加上值或運算式,如下所示:
return
return $a
return (2 + $a)
範例
下列範例會使用 Return 關鍵字,在符合條件的情況下,於特定內容處結束函數:
function ScreenPassword($instance)
{
if (!($instance.screensaversecure)) {return
$instance.name} <其他陳述式>
}
foreach ($a in @(get-wmiobject win32_desktop)) { ScreenPassword($a) }
這個指令碼會檢查每個使用者帳戶。ScreenPassword 函數會傳回沒有以密碼保護之螢幕
保護裝置的所有使用者帳戶名稱。如果有以密碼保護螢幕保護裝置,此函數會完成其他
要執行的任何陳述式,而且 Windows PowerShell 不會傳回任何值。
在 Windows PowerShell 中,即使沒有使用 Return 關鍵字,也可以傳回值。每個陳述式
的結果都會傳回。例如,下列陳述式會傳回 $a 變數的值:
$a
return
下列陳述式也會傳回 $a 的值:
return $a
下列範例包含一個陳述式,目的是要讓使用者知道函數正在執行計算:
function calculation {
param ($value)
"請稍候。正在執行計算..." $value += 73
return $value
}
執行此函數並將結果指定給變數的效果如下:
C:\PS> $a = calculation 14
C:\PS>
"請稍候。正在執行計算..." 字串並不會顯示,而是會指定給 $a 變數,如下列範例所示:
C:\PS> $a
請稍候。正在執行計算...
87
此函數會傳回資訊字串和計算結果,並將它們指定給 $a 變數。
請參閱
about_Functions
about_Scopes
about_Script_Blocks