鉴于这些powershell函数,其中foo将scriptblock作为参数:
function bar($name)
{
"Hello World $name"
}
function foo([scriptblock]$fun={})
{
&$fun "Bart"
}
是否可以在函数foo中指定函数栏作为$ fun的默认值而不是{}?
答案 0 :(得分:2)
是的,有可能。例如,这种方式适用于传递函数:
foo ((get-command bar).scriptblock)
在你的情况下打印
Hello World Bart
因此,为了将其用作默认参数:
function foo([scriptblock]$fun=(get-command bar).scriptblock)
{
&$fun "Bart"
}
现在只需致电
foo
获得相同的结果。