olduğunda Jagged PowerShell dizisi bir boyut kaybediyor 1
dışında herhangi bir giriş için iyi çalışan aşağıdaki PowerShell işlevine sahibim. 1
girişini iletirseniz, kendisi (1,1)
iki öğesinden oluşan tek bir öğe yerine, 1,1
iki öğeli bir dizi döndürecektir.Yalnızca bir öğe
Ben kendisini bir dizidir bir eleman ile pürüzlü bir dizi döndürür PowerShell hale nasıl herhangi bir fikir?
function getFactorPairs {
param($n)
$factorPairs = @()
$maxDiv = [math]::sqrt($n)
write-verbose "Max Divisor: $maxDiv"
for($c = 1; $c -le $maxDiv; $C++) {
$o = $n/$c;
if($o -eq [math]::floor($o)) {
write-debug "Factor Pair: $c, $o"
$factorPairs += ,@($c,$o) # comma tells powershell to add defined array as element in existing array instead of adding array elements to existing array
}
}
return $factorPairs
}
İşte benim test olduğunu ve sorunu gösteren çıkış var. İlk örnekte (giriş olarak 1), sadece bir faktör çifti bulunsa bile 2 uzunluğunu döndürdüğünü görebilirsiniz. İkinci örnek (giriş olarak 6) düzgün çalışıyor ve iki faktör çifti bulunan 2 uzunluğunu döndürüyor.
~» (getFactorPairs 1).length
DEBUG: Factor Pair: 1, 1
2
~» (getFactorPairs 6).length
DEBUG: Factor Pair: 1, 6
DEBUG: Factor Pair: 2, 3
2
Büyük iş yeri ve harika bağlantı ve hata, PowerShell v3'te olduğu gibi düzeltilmiş gibi görünüyor (https://connect.microsoft.com/feedback/ViewFeedback.aspx?FeedbackID=281908&SiteID=99) –