トピック
    about_Return

簡易説明
    現在のスコープ (関数、スクリプト、スクリプト ブロックなど) を終了します。


詳細説明
    Return キーワードは、関数、スクリプト、またはスクリプト ブロックを終了します。Return キ
    ーワードは、特定のポイントでスコープを終了したり、値を返したりするために使用できます。また、
    スコープの終わりに到達したことを示すために使用することもできます。


    C や C# などの言語に慣れているユーザーは、Return キーワードを使用して、スコープを明示的に保つ
    ロジックを作成できます。
 

    Windows PowerShell では、Return キーワードを含むステートメントがない場合でも、各ステー
    トメントの結果が出力として返されます。C や C# のような言語では、Return キーワードによって
    指定された値のみが返されます。


  構文

      Return キーワードの構文は次のとおりです。

          return [<expression>]


      Return キーワードは、単独で使用することも、その後に値または式を指定することもできます。次
      に例を示します。

          return
          return $a
          return (2 + $a)


  例

      次の例では、特定の条件が満たされたときに特定のポイントで関数を終了するために、Return キ
      ーワードを使用しています。

          function ScreenPassword($instance)
          {
              if (!($instance.screensaversecure)) {return $instance.name} 
              <additional statements>
          }

          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)

              "Please wait. Working on calculation..."
              $value += 73
              return $value
              }


      この関数を実行して結果を変数に代入すると、次の結果が得られます。

          C:\PS> $a = calculation 14
          C:\PS>


      "Please wait.Working on calculation..." という文字列は表示されません。代わりに、次
      の例に示すように $a 変数への代入が行われます。

          C:\PS> $a
          Please wait.Working on calculation...
          87


      情報文字列と計算結果の両方が関数から返され、$a 変数に代入されます。


関連項目
    about_Functions
    about_Scopes
    about_Script_Blocks




目次