filter CountFilter($StartAt = 0)
{
Write-Output ($StartAt++)
}
function CountFunction
{
[CmdletBinding()]
param (
[Parameter(ValueFromPipeline=$true, Mandatory=$true)]
$InputObject,
[Parameter(Position=0)]
$StartAt = 0
)
process
{
Write-Output ($StartAt++)
}
}
$fiveThings = $dir | select -first 5 # or whatever
"Ok"
$fiveThings | CountFilter 0
"Ok"
$fiveThings | CountFilter
"Ok"
$fiveThings | CountFunction 0
"BUGBUG ??"
$fiveThings | CountFunction
我搜索了 Connect 并没有发现任何会导致这种差异的已知错误。有谁知道是不是设计的?