PowerShell 関数のサンプル

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が実行されます。

関連の記事

テキストファイルの読み書き

△上に戻る