在 PowerShell 中,如果我使用 param 语法创建闭包,我可以传递参数:
$hello = { param($name) "Hello $name"}
& $hello "World!"
>hello.ps1
Hello World!
当我用函数语法尝试这个时,我遇到了麻烦:
function hello($n) { { "Hello $n" }.GetNewClosure() }
$doit = hello
& $doit "World!"
>functionclosure.ps1
Hello
我设法通过更早地提供参数来解决这个问题:
function hello($n) { {"Hello $n"}.GetNewClosure() }
$doit = hello "World"
& $doit
>functionclosure2.ps1
Hello World
有没有办法从 & 调用操作符行将参数传递给函数?