主題
    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






目錄