PowerShell: 関数の使い方(定義・呼び出し・戻り値)
関数とは特定の処理群をまとめたもので、 効率的にコードを書くためには欠かせない機能です。
ここではPowerShellでの関数の定義、呼び出し方法、 さらに戻り値の指定、受け取り方について解説します。 なお、関数の引数についてはさまざまな記述方法があるため 別の記事で解説します。
定義
PowerShellでは次のように関数を定義します。
書式
function 関数名 { 処理 }
キーワードfunctionの後に関数名、
その後に{}波括弧で囲んで処理を記述します。
次のように関数名の後に()丸括弧を付けても構いません。
書式
function 関数名() { 処理 }
具体的に関数を作成してみます。
次の関数HelloWorldは文字列"Hello World!"を出力する関数です。
function HelloWorld { Write-Host "Hello World" }
呼び出し
関数の呼び出し方は関数名を記述するだけです。
次のコードは関数HelloWorldを呼び出しています。
function HelloWorld { Write-Host "Hello World!" } # 呼び出し HelloWorld # 実行結果 Hellow World!
戻り値のある関数を呼び出す場合は、 代入演算子= を使って右辺に関数名を記述します。
$変数名 = 関数名
関数に引数がある場合、 関数名の後にスペース区切りで引数を記述して呼び出します。 (カンマ区切りではないことに注意してください)。
# 戻り値なし 関数名 引数1 引数2 # 戻り値あり $変数名 = 関数名 引数1 引数2
例えば、関数名がCalc-Sum、引数が「10」と「20」の2つある場合、 次のように呼び出します。
Calc-Sum 10 20
戻り値
関数に戻り値がある場合は関数内でキーワード「return」を使います。 戻り値はreturnの後に()丸括弧内で囲んで記述します。
return(戻り値)
戻り値が複数ある場合はカンマ区切りで指定すると 配列として返すことができます。
return(値1, 値2, 値3..)
次のコードでは関数Calc-Sumを定義しています。 Calc-Sumは引数として受け取った2つの値を足して、 その値を返す関数です。
function Calc-Sum($p1, $p2) { $sum = $p1 + $p2 return($sum) } $n = Calc-Sum 2 3 Write-Host $n # 5
関数に戻り値が無くても単に「return」と記述することで 呼び出し元に戻ります。
(まとめ記事: PowerShell 関数)