2017-06-28 15 views
1

関数を変数に保存する方法は?関数を変数に保存する方法は?

function sayHello { 
    write-host Hello, world! 
} 

$a = sayHello 

次に、$aに電話します。

もう一つの例:

$a = get-childItem 
$a -name 
+1

誰かがそれをしたいと思いますか? $ aはget-childitemの内容を保持するため、$ a -nameはエラーをスローします。それを$ aから実行するドットネットライブラリクラスではありません。 –

答えて

5

あなたはfunction変数のスコープ修飾子を使用して関数定義自体を参照することができます。

$helloFunc = $function:sayHello 

今、あなたは、呼び出し演算子(&)を使用して、それを呼び出すことができます。

& $helloFunc 

コール演算子のサプまた、パラメータ:

PS C:\> function test-param {param($a,$b) $b,$a |Write-Host} 
PS C:\> $tp = ${function:test-param} 
PS C:\> & $tp 123 456 
456 
123 
PS C:\> & $tp -b 123 -a 456 
123 
456 
+0

美しい。私はこれを知らない –

関連する問題