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 関数

PowerShell