我有一个函数'foo'和一个引用它的变量'$ foo'。
function foo
{
param($value)
$value + 5
}
$foo = foo
$foo
我可以在没有args的情况下调用$ foo,但是如何传递参数呢?这不起作用:
$foo 5
$foo(5)
实际上,目标是编写这样的代码:
function bar {
param($callback)
$callback 5
}
bar(foo)
答案 0 :(得分:9)
问题在于你做什么
$ foo = foo
您将函数的结果放在变量$ foo中,而不是函数本身!
试试这个:
$ foo = get-content功能:\ foo
并像这样称呼它
&安培; $ foo 5
希望它有所帮助!
答案 1 :(得分:3)
使用脚本块。
# f.ps1
$foo =
{
param($value)
$value + 5
}
function bar
{
param($callback)
& $callback 5
}
bar($foo)
运行它:
> ./f.ps1
10
答案 2 :(得分:1)
编辑第一次误读了这个问题
您需要做的是使用&操作
& $foo 5
答案 3 :(得分:0)
$ foo = foo 5