У меня незначительный объем внимания, и поскольку я сейчас погружен в La Vida Powershell , мой код будет отформатирован как
Я заранее прошу прощения, если это обсуждалось где-то в другом месте, но поскольку моя проблема в том, что я не знаю, как это называется, мои усилия по поиску были по понятным причинам бесплодными.
представьте три функции:
function GrowGrapes(){...} #grows grapes.
function MakeWine(){...} #uses said grapes to make wine
function DrinkWine(){...} #drinks said wine
Если первый сбой, то вы не хотите и не должны пытаться 2-го. Если 2-й сбой или никогда не выполняется, то нет смысла пытаться выполнить 3-й.
, а не большое противное гнездо утверждений IF вроде этого ...
IF ([bool]GrowGrapes()) {
IF ([bool]MakeWine()) {
DrinkWine()
}
}
на некоторых языках (я ВЕРИТ Я узнал это в отношении C ...) вы можете сделать следующее:
IF ([bool]GrowGrapes() -AND [bool]MakeWine()) {DrinkWine()}
или даже
$rslt = ([bool]GrowGrapes() -AND [bool]MakeWine()) -AND [bool]DrinkWine()
и верь, что 2-я половина твоего условного условия выполнилась бы только в том случае, если первая вернулась как истина / успех / что угодно.
аналогично вы можете ИЛИ два выражения и верить, что второе будет выполнено и проверено только в том случае, если первое вернется как ложное
[bool]MakeWine() -OR [bool]BuyWine() #only attempt to purchase wine if
#the attempt to make it has failed
Мой вопрос: как называется это поведение? Кроме того, PowerShell поддерживает это?