まず、PowerShell関数は、キャプチャされていないすべての「出力」を返します。変数に割り当てることで出力をキャプチャでき、$null
たとえば次のようにリダイレクトすることで出力を無視できます。
$arrayList.Add("hi") > $null
これは通常、0( "hi"が追加されたインデックス)のようなものを出力しますが、$ nullにリダイレクトしたため、出力は無視されます。
2つ目echo
は、対応するオブジェクトを出力ストリームに書き込む「Write-Output」の単なるエイリアスです。 return "blah"
これは、次と同等の便利な機能です。
Write-Output "blah"
return
したがって、関数の実装はこれと同等です。
function EchoReturnTest(){
Write-Output "afdsfadsf"
Write-Output "blah"
return
}
関数の「出力」の一部と見なされずにホストコンソールで情報を「表示」したい場合は、Write-Hostを使用します。例:
function EchoReturnTest(){
Write-Host "afdsfadsf"
return "blah"
}
また、パラメータがない場合は、関数名の最後にあるparensは必要ありませんfunction EchoReturnTest { return 'blah' }
。