我希望编写一个PowerShell函数,根据输入参数动态创建脚本块并返回。但是我目前似乎遇到了一些困难。
编写一个方法来调用脚本块两次很容易。
编写一个方法来调用脚本块两次很容易。
$x = { write-host "Hello" }
function DoIt([scriptblock] $s) { $s.Invoke(); }
function DoItTwice([scriptblock] $s) { $s.Invoke(); $s.Invoke(); }
DoIt($x)
DoItTwice($x)
编写一个返回脚本块的方法,该脚本块具有调用(输入)脚本块两次的效果,这比较困难。以下内容无法正常工作:
function TwiceAsScriptBlock([scriptblock] $s)
{
function twice
{
$s.Invoke();
$s.Invoke();
}
return { twice }
}
TwiceAsScriptBlock:无法处理参数's'上的参数转换。
- RobTwiceAsNewScriptBlock($x).Invoke()
- 这就是为什么我认为它不起作用的原因。谢谢! - Rob