1
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
我搜索連接並沒有發現任何已知的錯誤,會導致這種差異。任何人都知道這是否是設計?Powershell高級功能:應該初始化的可選參數?
我目前使用的解決方法更簡單:[參數(位置= 0)] $ StartIndex = 0 ....開始{$ Counter = $ StartIndex} – 2010-01-22 18:50:05