But when you want to do some kind of performance monitoring, you want to eval the min or max so far, without stoping the running pipeline.
Primary to improve readability in my script I wrote the following two functions.
Attention I just found wrong results for negative arguments. I'm still checking. Look at the follow-ups.
function Eval-Max
{
$max = $null
foreach ($i in $args){
if ($i -gt $max){
$max = $i
}
}
$max
}
function Eval-Min
{
$min = $null
foreach ($i in $args){
if (($i -ne $null -and $i -lt $min) -or $min -eq $null){
$min = $i
}
}
$min
}
Note that the two functions are not symmetric. Unlike SQL here in PowerShell we have
$null -lt 1
True
$null -gt 1
False
PowerShell $null seems to have funny mathematical behaviour. It is less than 0 but greater than each negative number. In any case it is different from SQL NULL. be warned. Me functions here follow the SQL pattern. Therefore
Eval-Min $null 1
1
Please if you know of earlier similar PowerShell functions drop a comment.
Keine Kommentare:
Kommentar veröffentlichen