6

我有一个函数 '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)
4

4 回答 4

9

问题是当你这样做

$foo = 富

您将函数的结果放在变量 $foo 中,而不是函数本身!

试试这个 :

$foo = 获取内容功能:\foo

像这样称呼它

& $富 5

希望能帮助到你 !

于 2009-03-26T13:52:20.270 回答
3

使用脚本块。

# f.ps1

$foo = 
{
    param($value)
    $value + 5
}

function bar 
{
  param($callback)
  & $callback 5
}

bar($foo)

运行它:

> ./f.ps1
10
于 2009-03-26T14:55:53.393 回答
1

编辑第一次误读问题

您需要做的是使用 & 运算符

& $foo 5
于 2009-03-26T13:27:33.667 回答
0

$foo = foo 5

于 2009-03-26T14:32:59.877 回答