一部のデータを列挙するPowerShell関数を作成し、すべての発生時にスクリプトブロックを起動します。今私が持っていることでパラメータ化されたスクリプトブロックを使用するPowerShell関数
は(これは、実際のコードではありませんが、それは私の問題を示している):
function Invoke-TenTimes
{
[CmdletBinding()]
param
(
[Parameter(Mandatory=$true, Position=0)]
[ScriptBlock]$Action
)
process
{
$digits = 0..10
$digits | % {
$Action.Invoke($_);
}
}
}
私は自分のモジュールでこの機能を置きます。しかし、私は電話しても何の結果も得られません。
Invoke-TenTimes { $_ }
出力は空白です(何も表示されません)。
私は
Invoke-TenTimes { $_ -eq $null }
を呼び出す場合、私は10 true
を取得します。実際、$_
がnullであることがわかります。
$_
に入力する適切な方法は何ですか?狂気私を運転している何
、私は、同じPS1ファイルにこの関数とコールを置けば、それが動作することである(しかし、私はオンデマンドでスクリプトブロックを渡したい):
function Invoke-TenTimes
{
[CmdletBinding()]
param
(
[Parameter(Mandatory=$true, Position=0)]
[ScriptBlock]$Action
)
process
{
$digits = 0..10
$digits | % {
$Action.Invoke($_);
}
}
}
Invoke-TenTimes { $_ }
ありがとう!これは私の問題を解決し、$ _でスクリプトブロックを使用できるようになりました。 –