【发布时间】:2018-08-27 10:11:15
【问题描述】:
我正在编写一个 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 而不是仅仅将变量留在单独一行。
有没有办法强制函数只返回我想要的值?
【问题讨论】:
标签: powershell