6

関数「foo」とそれを参照する変数「$foo」があります。

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

$foo = foo
$foo

引数なしで $foo を呼び出すことはできますが、どうすればパラメーターを渡すことができますか? これは動作しません:

$foo 5
$foo(5)

実際の目標は、次のようなコードを書くことです。

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

bar(foo)
4

4 に答える 4

9

問題はあなたがするときです

$ foo = foo

関数自体ではなく、関数の結果を変数$fooに入れます。

これを試して :

$ foo = get-content関数:\ 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 に答える