考虑这样的功能:
$missed = "{716C1AD7-0DA6-45e6-854E-4B466508EB96}"
function Test($foo = $missed, $bar = $missed)
{
if(!$foo)
{
throw "error"
}
if(!$bar)
{
throw "error"
}
}
我想这样调用这个函数
Test -foo $foo -bar $bar
但如果 $foo 或 $bar 为 $null,则会抛出异常。天真的解决方案是
if($foo -and $bar)
{
Test -foo $foo -bar $bar
}
elseif ($foo)
{
Test -foo $foo
}
elseif ($bar)
{
Test -bar $bar
}
else
{
Test
}
如何在一/两行中重写这个 if/else 块?