関数を作成する - PowerShell
PowerShellでの関数の記述方法を紹介します。
書式
関数の書式は以下です。
引数をとる関数の場合は以下となります。
function 関数名(引数1,引数2,引数3, ... 引数n){
(関数の実装)
}
呼び出し側の書式
また、関数を呼び出す場合は
と関数名のみを記述します。引数を伴う場合は
と、引数はスペース区切りで与えます。
戻り値
関数からの戻り値は Write-Output で指定します。
function 関数名(引数1,引数2,引数3, ... 引数n){
(関数の実装)
Write-Output (戻り値)
}
コード例1
function MyFunction{
Write-Host "Hello!"
}
実行結果
上記のコードを実行します。
関数は実装されていますが、関数の呼び出し元がないため、画面には何も表示されません。
コード例2
function MyFunction{
Write-Host "Hello!"
}
MyFunction
実行結果
上記のコードを実行します。関数が呼び出され、"Hello!"の文字列が画面に表示されます。
補足
関数呼び出し部分が関数の実装より手前にる場合はエラーが発生します。
MyFunction
function MyFunction{
Write-Host "Hello!"
}
コードを実行すると
(関数名) : 用語 '(関数名)' は、コマンドレット、関数、スクリプト ファイル、または操作可能なプログラムの名前として認識されません。名前が正しく記述されていることを確認し、パスが含まれている場合はそのパスが正しいことを確認してから、再試行してください。
発生場所 (スクリプトファイルのパス名) 文字:
+ (関数名)
+ ~~~~~~~~~~
+ CategoryInfo : ObjectNotFound: ((関数名):String) [], CommandNotFoundException
+ FullyQualifiedErrorId : CommandNotFoundException
といったエラーが発生します。
コード例3
引数を伴う場合のコードです。
function MyCalc($a, $b, $c){
$d=$a + $b + $c
Write-Host $d
}
MyCalc 12 6 3
実行結果
上記のコードを実行します。関数に引数を与えて呼び出しができており、引数の合計値である"21"が画面に表示されることが確認できます。
コード例4
戻り値を持つ関数と、関数からの戻り値を変数に格納するコードです。
function GetName{
Write-Output "ぺんぎん"
}
$name = GetName
実行結果
上記のコードを実行します。関数からの戻り値を変数に格納するだけのコードのため、何も出力されません。
コード例5
戻り値を持つ関数と、関数からの戻り値を変数に格納し、末尾に"様"を追加して画面に表示するコードです。
function GetName{
Write-Output "ぺんぎん"
}
$name = GetName
Write-Output ($name+"様")
実行結果
上記のコードを実行します。関数からの戻り値の末尾に"様"を追加して画面に表示します。
このページのキーワード
- PowerShell 関数
- PowerShell 関数 定義
著者
iPentecのプログラマー、最近はAIの積極的な活用にも取り組み中。
とっても恥ずかしがり。