PowerShell - 関数(値渡しと参照渡し)
参照渡しの場合、呼び出し側の引数に[ref]をつける、また引数に括弧がないとエラーになった。
関数定義の仮引数の[ref]は無くても良い、関数内では仮引数のValueプロパティにアクセスする。
# 値渡し function byVal($arg){ $arg = "Good Bye" Write-Host "in Function : $arg" } # 参照渡し function byRef([ref]$arg){ $arg.Value= "Good Bye" # Valueプロパティにアクセス Write-Host "in Function : $($arg.Value)" } $a = "Hello" $a byVal $a # 値渡し $a # Hello $a = "Hello" byRef([ref]$a) # 参照渡し $a # Good Bye