about_Return

適用対象: Windows PowerShell 2.0, Windows PowerShell 3.0, Windows PowerShell 4.0, Windows PowerShell 5.0

トピック

about_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 はどの値も返しません。

          $a
          return

次のステートメントは、ここで $a:Insert セクション本体の値も返します。

          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_Language_Keywords の Exit キーワード

about_Functions

about_Scopes

about_Script_Blocks