【发布时间】:2020-06-19 19:58:19
【问题描述】:
根据文档,PS 7 引入了诸如|| 和&& 等流水线链接运算符。
https://docs.microsoft.com/en-us/powershell/module/microsoft.powershell.core/about/about_pipeline_chain_operators?view=powershell-7
您应该能够进行 C# 风格的短路操作,例如:
Write-Error 'Bad' && Write-Output 'Second'
上面的例子有效。并且文档说管道链接操作员使用两个字段(不确定它是如何工作的):$? 和 $LASTEXITCODE
如何将这些应用到我自己的函数中?
例如:
function yes() {
echo 'called yes'
return $True
}
function no() {
echo 'called no'
return $False
}
我觉得我应该能够运行以下no && yes 并看到以下输出
不叫
错误
但我看到了
不叫
错误
是的
是的
那么,我该如何开发函数以使用流水线链接和短路呢?
编辑:我现在唯一能想到的构造一个自定义函数来短路&& 的唯一方法是使其成为throw,但这在一般情况下似乎不太有用。
【问题讨论】: