【发布时间】:2015-08-16 05:24:33
【问题描述】:
方案有一个短路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
【问题讨论】:
标签: powershell short-circuiting