PowerShell 関数
PowerShellの関数をまとめます。関数
関数を定義するには function 関数名(引数) の形で定義します。関数に渡す引数が複数ある場合は、スペースで区切ります。
function Test($a, $b){
return $a + $b
}
$c = Test 1 2
Write-Output $c
3が出力されます。
ちなみにクラスのスタティックメソッドやオブジェクトのメソッドを呼び出す場合は、カッコを付けてカンマで区切ります。
$obj.Test(1, 2)
[Class]::Test(1, 2)
関数の外の変数にアクセス
関数の外の変数にアクセスするには変数に $script: を付けます。
function Test($a, $b){
$script:c = $a + $b
}
$c = 1
Test 2 3
Write-Output $c
5が出力されます。
別ファイルに関数を定義
別ファイルに定義した関数を呼び出すには、頭にドットを付けて別ファイルを記述することで参照できます。C:\work\test.ps1 の中身。
function Test($a, $b){
$script:c = $a + $b
}
頭にドットを付けてtest.ps1を参照。
. "C:\work\test.ps1"
$c = 1
Test 2 3
Write-Output $c
5が出力されます。
参照渡し
引数に[ref]を付けると参照渡しができます。.valueで参照元にアクセスできます。
function Test([ref]$x,[ref]$y){
$x.value = 2
$y.value = 3
}
$a = 1
$b = 1
Test([ref]$a)([ref]$b)
Write-Output ($a + $b)
5が出力されます。
引数なし
引数なしはカッコをつけません。
function Test{
Write-Output "Hello World"
}
Test
Hello Worldが出力されます。
ページのトップへ戻る