Mam pewne problemy z tablicami dwuwymiarowymi w PowerShell. Oto, co chcę zrobić:Powershell: Tablica wielowymiarowa jako wartość zwracana funkcji
Tworzę funkcję, która ma zwrócić dwuwymiarową tablicę. Podczas wywoływania funkcji chcę, aby wartość zwracana była nową tablicą dwuwymiarową.
Dla lepszego zrozumienia dodałem funkcję przykład poniżej:
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
Wyniki nie są, czego można oczekiwać. Chcę zwrócić informacje w taki sam sposób, jak zadeklarowano w funkcji. Tak więc oczekiwałbym, że $erg_array[0,1]
dostarczy mi 2
zamiast 1,2
otrzymam z powyższym kodem. Jak mogę to osiągnąć?
Dlaczego oczekujesz, że '$ erg_array [0,1] # result is 1 2'? Powinno to być '$ erg_array [0,1] # result 2', tak jak zdefiniowałeś, jest to jedna pozycja, nie 2. Tak więc nie jest całkiem jasne, co chcesz osiągnąć. Próbujesz dostać coś, co nie istnieje. –
Albo cel powinien zostać zmieniony, albo środki, np. możemy próbować użyć nie tablicy 2-dim, ale czegoś innego. –