【发布时间】:2009-04-07 23:46:13
【问题描述】:
考虑这样的功能:
$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 块?
【问题讨论】:
标签: function powershell arguments