PowerShellの関数のサンプルです。
目次
サンプル | 関数とは |
引数と戻り値なし / 引数と戻り値あり / 引数でParamを使用 / 配列を返す | |
デフォルト引数あり / 一部にデフォルト引数 | |
関数の中に関数 |
関数とは
function 関数名 [(引数,・・・)]{ [return 値] } 関数名 [引数,・・・] |
- 関数は処理をまとめることができます。使用するときは関数名を指定して呼び出します。
- 引数は関数にデータを渡します。パラメータとも言います。引数は必須ではありません。
- returnは、関数の呼び出し元に値を返します。返す値を「返り値」または「戻り値」といいます。returnは必須ではありません。
- 関数内の変数はローカル変数になります。ローカル変数は関数内からのみアクセスできます。
引数と戻り値なし
function print{
echo 'test1' # test1と表示される
}
print
5行目は、1行目の関数を呼んでいます。
引数と戻り値あり
function calc($num1,$num2){
$ans = $num1 + $num2
return $ans
}
$num = calc 5 6
Write-Host $num # 11と表示される
5行目は、1行目の関数を引数付きで呼んでいます。
3行目は、戻り値を5行目の呼び出し元に返しています。
引数でParamを使用
function employee{
Param(
[string] $id,
[string] $name
)
Write-Host "入力したのは$($id)の$($name)です"
}
employee -id 001 -name suzuki
# 入力したのは001のsuzukiです
2行目は、Paramで引数を受け取ります。
8行目の-idと-nameは、3,4行目に対応しています。
配列を返す
function print(){
$ans = "1", "2", "3"
return $ans
}
$arr = print
Write-Host $arr[0] # 1
Write-Host $arr[1] # 2
Write-Host $arr[2] # 3
3行目は、配列を返しています。
デフォルト引数あり
デフォルト引数は、関数の引数にデフォルト値が設定されています。
関数を呼ぶ側は、引数を省略できます。
function calc($num1=1,$num2=2,$num3=3){
$ans = $num1 + $num2 + $num3
return $ans
}
$num = calc
Write-Host $num # 6と表示される
1行目は、デフォルト引数を使用しています。
5行目は、引数を指定していませんが戻り値は6になります。
一部にデフォルト引数
function calc($num1=1,$num2,$num3=3){
$ans = $num1 + $num2 + $num3
return $ans
}
$num = calc 10
Write-Host $num # 13と表示される
5行目の引数の10は1行目の$num1にあたります。
関数の中に関数
関数の中に関数を入れることは可能です。
function print1{
Write-Host "test1"
function print2{
Write-Host "test2"
}
print2
}
print1 # test1 test2と表示される
関数print1が実行された時、6行目で関数print2が実行されます。
関連の記事