Tablice PowerShell: jak je tworzyć i używać

Zmienne są najbardziej podstawową strukturą danych w każdym typie kodowania(any type of coding) . Jednak pojedyncze zmienne nie wystarczają do większości celów, zwłaszcza w przypadku bardziej złożonych algorytmów.

Tu właśnie wkraczają tablice. Czy to C++, czy Python , tablice są w jakiejś formie obecne w każdym języku programowania. Ale co z Windows PowerShell ? Jak działają tablice PowerShell ? Jak ich używasz? Jaka jest ich składnia? Dowiedzmy Się.

Tablice PowerShell 101

Mówiąc(Simply) najprościej, tablica to po prostu uporządkowany zbiór zmiennych. Chodzi o to, aby wyeliminować kłopoty ze śledzeniem dziesiątek nazw poprzez zwijanie powiązanych zmiennych w ponumerowany zestaw.

W PowerShell możesz utworzyć zmienną, dołączając symbol $ do nazwy zmiennej. Na przykład:

$prime = 13

Zmienna może zawierać dowolny typ danych, od liczb po łańcuchy. Wystarczy użyć podwójnych lub pojedynczych cudzysłowów, aby określić ciąg.

$name = “Levin”

Teraz, aby utworzyć nową tablicę, po prostu przypisz wiele wartości do tej samej zmiennej, oddzielonych przecinkami. Lubię to:

$week = “Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”

Niektórzy ludzie wolą jawnie rzutować zmienną na tablicę, aby uniknąć pomyłek, chociaż nie jest to konieczne. Aby to zrobić, umieść wartości w nawiasach, poprzedzonych symbolem @.

$week = @(“Monday”, “Tuesday”, “Wednesday”, “Thursday”, “Friday”, “Saturday”, “Sunday”)

Zwykle przydaje się to, gdy próbujesz umieścić dane wyjściowe innych poleceń w tablicy, gdzie nie możesz ręcznie zapisać ich w poprawnym formacie.

Tworzenie tablicy

Widzieliśmy już najpopularniejszą metodę tworzenia tablicy. Ale w zależności od sytuacji istnieją inne sposoby, które mogą być bardziej odpowiednie. Na przykład, jeśli chcesz utworzyć tablicę zawierającą zakres liczb, możesz użyć operatora zakresu:

$digits = (0..9)

Stworzy to tablicę wszystkich dziesięciu cyfr od zera do dziewięciu. Możesz także zainicjować pustą tablicę, na wypadek, gdybyś chciał po prostu później przechowywać wartości.

$values = @()

Wiele(Multiple) tablic można nawet zagnieżdżać jedna w drugiej, chociaż ten typ użycia może bardzo szybko stać się mylący.

$coordinates = @(
    (5, 10, 23),
    (11, 7, 16)
)

Domyślnie tablica może przechowywać dowolny typ zmiennej, czy to liczby, łańcuchy lub kombinację obu. Ale możesz jawnie zdefiniować typ na wypadek, gdybyś chciał ograniczyć umieszczane w nim wartości. Na przykład:

[int[]] $numbers = 2,3,4,5

W ten sposób tablica może zawierać tylko liczby całkowite. Próba przypisania do niego innego typu wartości zwróci błąd. Może to być przydatne, aby zapobiec prostym błędom w tablicach pracujących wyłącznie z wartościami liczbowymi, ponieważ wprowadzenie ciągu do zmiennej, która ma być używana w obliczeniach, spowoduje problemy.

Dostęp do tablic

Do tej pory widzieliśmy wiele metod tworzenia tablic zawierających różne typy danych. Ale jak uzyskać dostęp do tych danych?

Tablice programu PowerShell(PowerShell) używają tego samego formatu, co inne języki programowania. Dostęp do każdej zmiennej tablicowej można uzyskać poprzez jej numer indeksu. Na przykład:

$var = $numbers[5]

Spowoduje to skopiowanie wartości przechowywanej w indeksie piątym tablicy $numbers w zmiennej $varZauważ, że indeksy tablicy zaczynają liczyć od 0, więc pierwszy element jest dostępny od zera.

Gdybyśmy mieli to wyprowadzić, na przykład:

“$days[2]”

Dostaniemy środę, nie wtorek.

Możesz użyć tej samej metody do modyfikacji tych wartości. Na przykład poniższe polecenie zmieni drugi element tablicy na zero:

$numbers[1] = 0

Możesz również dodać więcej elementów do istniejącej tablicy zamiast zmieniać wartości bieżących wpisów, dodając je jak wyrażenie arytmetyczne.

$names += “Johny”

Ta metoda może być używana do dodawania wielu wpisów naraz, a nawet całych tablic.

$names += “Charlie, Liam, Teresa”

$names += $surnames

Metoda oddzielona przecinkami również służy do uzyskiwania dostępu do wielu elementów tablicy. Na przykład wpisanie tego powoduje zapisanie pierwszych pięciu elementów $days w $weekdays .

$weekdays = $days[0,1,2,3,4]

Iteracja przez tablice

Ręczny dostęp do poszczególnych elementów tablicy jest dobry i dobry, ale jeśli chcesz wykonywać działania na całej zawartości tablicy, może to być nużące. Bardziej eleganckim podejściem jest użycie pętli For.

Pętle for mogą systematycznie przechodzić przez wszystkie elementy tablicy, przetwarzając każdą wartość zgodnie z instrukcjami. Tak można skonstruować taką pętlę:

For ($i = 0 ; $i -lt $days.Length ; $i++){
    $days[$i]}

Funkcja array.Length zwraca rozmiar tablicy, czyli w zasadzie liczbę elementów w niej zawartych. Można to podłączyć do parametru wyrażenia testowego pętli For, aby kompleksowo iterować po wszystkich elementach.

Pętla Foreach i pętla -obiekt Foreach mogą zrobić to samo z jeszcze szczuplejszym skryptem PowerShell .

Foreach ($day in $days){
    $day}

Oszczędza to wysiłku związanego z określeniem rozmiaru tablicy, pozostawiając szczegóły do ​​obsługi przez PowerShell .

Kiedy należy używać tablic PowerShell(PowerShell Arrays)

Największym źródłem błędów w złożonym skrypcie są niepoprawne odwołania do zmiennych. Dzieje się tak ze względu na obecność dużej liczby zmiennych o unikalnych nazwach, co utrudnia zapamiętanie ich przeznaczenia.

Najprostszym rozwiązaniem tego problemu jest intensywne używanie tablic. Wszystkie powiązane w jakiś sposób zmienne mogą być przypisane do jednej tablicy i dostępne poprzez ich numery indeksowe.

Podstawowym przypadkiem użycia Microsoft PowerShell(Microsoft PowerShell’s) jest automatyzacja, a macierze odgrywają w tym kluczową rolę. Obiekty zwracane przez polecenia cmdlet programu PowerShell można przechowywać w tablicach i powtarzać. Umożliwia to automatyczne wykonywanie kolejnych zadań, co znacznie upraszcza administrowanie systemem.



About the author

Jestem profesjonalnym inżynierem dźwięku z ponad 10-letnim doświadczeniem. Pracowałem przy wielu projektach, od małych domowych systemów audio po duże produkcje komercyjne. Moje umiejętności polegają na tworzeniu doskonałych ścieżek dźwiękowych i narzędzi do przetwarzania dźwięku, dzięki którym muzyka brzmi świetnie. Mam również ogromne doświadczenie w pracy z systemem Windows 10 i mogę pomóc Ci w pełni wykorzystać możliwości systemu komputerowego.



Related posts