PowerShell関数を作成していますが、単一のブール値を返すようにします。問題は、PowerShellが、returnステートメントに明示的に含まれているものだけでなく、パイプライン内のすべてのものを返すことです。
次のコードを検討してください。
function getTrue(){
$testVariable = "test"
$test
return $true
}
$answer = getTrue
Write-host $answer
このコードの出力は次のとおりです。
test True
これはを返しますSystem.Object[]
。戻り値を強制的に。にしたいSystem.Boolean
。
Write-Hostを追加すると、このコードは正常に機能します。
function getTrue(){
$testVariable = "test"
Write-Host $test
return $true
}
唯一の問題は、他の誰かが書いている関数に依存していることです(変更できません)。またWrite-Host
、変数をそのまま行に残す代わりに、他の人が使用したことを保証できません。
関数に必要な値のみを返すように強制する方法はありますか?