ドキュメントによると、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'
上記の例は機能します。また、ドキュメントには、パイプライン チェーン オペレーターが 2 つのフィールドを使用することが記載されています (正確にどのように機能するかは不明です) $?
。$LASTEXITCODE
これらを自分の関数に適用するにはどうすればよいですか?
例えば:
function yes() {
echo 'called yes'
return $True
}
function no() {
echo 'called no'
return $False
}
no && yes
次を実行して、次の出力を確認できるはずだと思います
いいえ
間違い
しかし、代わりに私は見る
いいえ
間違い
はいと呼ばれる
真実
では、パイプライン チェーンとショート サーキットを使用できるように機能を開発するにはどうすればよいでしょうか。
編集:短絡するカスタム関数を構築するために今すぐ理解できる唯一の方法は&&
、それを作ることthrow
ですが、それは一般的なケースではあまり役に立ちません。