PowerShell'de iki boyutlu dizilerde bazı sorunlarım var. Yapmak istediklerim:Powershell: İşlevinin dönüş değeri olarak çok boyutlu dizi
İki boyutlu bir dizi döndürmesi beklenen bir işlev yapıyorum. Fonksiyonu çağırırken, dönüş değerinin yeni bir iki boyutlu dizi olmasını istiyorum. Aşağıda, örnek bir işlevi ekledik daha iyi anlamak için
:
function fillArray() {
$array = New-Object 'object[,]' 2,3
$array[0,0] = 1
$array[0,1] = 2
$array[0,2] = 3
$array[1,0] = 4
$array[1,1] = 5
$array[1,2] = 6
return $array
}
$erg_array = New-Object 'object[,]' 2,3
$erg_array = fillArray
$erg_array[0,1] # result is 1 2
$erg_array[0,2] # result is 1 3
$erg_array[1,0] # result is 2 1
sonuç beklediğim gibi değil. Bilgileri, işlevde bildirildiği gibi döndürmek istiyorum. Bu yüzden yerine 2
vermek için $erg_array[0,1]
beklerim. Bunu nasıl başarabilirim? virgül operatörünü kullanmak "unrolling" olmadan değişiklik yapmadan olduğu gibi dizi dönmek için
Neden "$ erg_array [0,1] # sonucu 1 2" bekliyorsunuz? Tanımladığınız gibi, $ erg_array [0,1] # sonuç 2' olmalıdır. Bu, bir öğe değil, 2'dir. Böylece, ne almak istediğinizi tam olarak açık değil. Var olmayan bir şey elde etmeye çalışıyorsun. –
Ya amaç düzeltilmelidir veya araçlar, ör. 2 boyutlu diziyi değil, başka bir şeyi kullanmayı deneyebiliriz. –