我正在编写一个 PowerShell 函数,我希望它返回一个布尔值。问题是 PowerShell 将返回管道中的任何内容,而不仅仅是 return 语句中明确包含的内容。
考虑以下代码。
function getTrue(){
$testVariable = "test"
$test
return $true
}
$answer = getTrue
Write-host $answer
这段代码的输出是
test True
这会返回一个System.Object[]
. 我想强制返回值为 a System.Boolean
。
如果我添加Write-Host ,此代码可以正常工作:
function getTrue(){
$testVariable = "test"
Write-Host $test
return $true
}
唯一的问题是我依赖于其他人正在编写的函数(我无法修改它),并且我不能保证他们使用 aWrite-Host
而不是仅仅将变量留在行中。
有没有办法强制函数只返回我想要的值?