gpt4 book ai didi

powershell - 是否存在返回第一个 'or' 值的短路 'true'?

转载 作者:行者123 更新时间:2023-12-04 06:38:11 25 4
gpt4 key购买 nike

Scheme 有一个短路 or 将返回第一个非假值:

> (or 10 20 30)
10
> (or #f 20 30)
20
> (or #f)
#f

它在需要时才评估其参数。

PowerShell 中已经有这样的东西了吗?

这是它的近似值:
function or ()
{
foreach ($arg in $args) {
$val = & $arg; if ($val) { $val; break }
}
}

例子:
PS C:\> or { 10 } { 20 } { 30 }
10

例子:
PS C:\> $abc = $null

PS C:\> or { $abc } { 123 }
123

PS C:\> $abc = 456

PS C:\> or { $abc } { 123 }
456

最佳答案

你可以这样做:

10, $false, 20 | ? { $_ -ne $false } | select -First 1

结果是输入列表中第一个不是 $false 的值。 , 或 $null .自 $null是 PowerShell treats as $false 的值之一在比较中,以上应该做你想做的。

关于powershell - 是否存在返回第一个 'or' 值的短路 'true'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21975605/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com