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

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

Zmienne są najbardziej podstawową strukturą danych w każdym rodzaju kodowania. Ale pojedyncze zmienne nie są wystarczające do większości celów, szczególnie w przypadku bardziej złożonych algorytmów.

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

Spis treści

    PowerShell tablice 101

    Mówiąc po prostu, tablica to tylko ustrukturyzowany zbiór zmiennych. Chodzi o wyeliminowanie kłopotów z śledzeniem dziesiątek nazw poprzez zwinięcie powiązanych zmiennych w ponumerowany zestaw.

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

    $ prime = 13

    Zmienna może zawierać dowolny typ danych, od liczb po struny. Wystarczy użyć podwójnych lub pojedynczych cytatów, aby określić ciąg.

    $ name = „Levin”

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

    $ tydzień = „poniedziałek”, „wtorek”, „środa”, „czwartek”, „piątek”, „sobota”, „niedziela”

    Niektórzy wolą wyraźnie rzucić zmienną w tablicę, aby uniknąć zamieszania, choć nie jest to konieczne. Aby to zrobić, umieść wartości w nawiasach poprzedzonych symbolem @.

    $ tydzień = @(„poniedziałek”, „wtorek”, „środa”, „czwartek”, „piątek”, „sobota”, „niedziela”)

    Zwykle przydaje się to podczas próby umieszczenia wyjścia innych poleceń w tablicy, gdzie nie można ich ręcznie napisać we właściwym formacie.

    Tworzenie tablicy

    Widzieliśmy już najczęstszą 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 zasięgu:

    $ cyfry = (0… 9)

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

    $ wartości = @()

    Wiele tablic może być nawet zagnieżdżone, chociaż tego rodzaju użycie może być bardzo szybko mylące.

    $ współrzędne = @(
        (5, 10, 23),
        (11, 7, 16)
    )

    Domyślnie tablica może przechowywać dowolny typ zmienny, czy to liczby, ciągi, czy mieszanka obu. Ale możesz wyraźnie zdefiniować typ na wypadek, gdybyś chciał ograniczyć wprowadzone w nim wartości. Na przykład:

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

    W ten sposób tablica może pomieścić tylko liczby całkowite. Próba przypisania do niego dowolnego rodzaju wartości zwróci błąd. Może to być przydatne, aby zapobiec prostym błędom w tablicach działających wyłącznie z wartościami liczbowymi, ponieważ wprowadzenie ciągu do zmiennej, która ma być używana w obliczeniach, stworzy 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 PowerShell używają tego samego formatu używanego przez inne języki programowania. Do każdej zmiennej tablicy można uzyskać według numeru indeksu. Na przykład:

    $ var = $ liczb [5]

    To skopiuje wartość przechowywaną w indeksie pięciu $ liczby tablica w $ var zmienny. Zauważ, że wskaźniki tablicy zaczynają się liczyć od 0, więc pierwszy element jest dostępny z zero.

    Jeśli mielibyśmy to wyprowadzić, na przykład:

    „$ Dni [2]”

    Dostaniemy środę, a nie we wtorek.

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

    $ liczby [1] = 0

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

    $ name += „Johny”

    Tę metodę można użyć do dodawania wielu wpisów jednocześnie, a nawet całej tablicy.

    $ name += „Charlie, Liam, Teresa”

    $ Names += $ shwingames

    Metoda oddzielona przecinkami ma również dostęp do wielu elementów tablicy. Wpisując na przykład, przechowuje pierwsze pięć elementów $ dni W dni powszednie.

    $ Dayes = $ dni [0,1,2,3,4]

    Iteracja przez tablice

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

    W przypadku pętli mogą systematycznie przeglądać wszystkie elementy tablicy, przetwarzając każdą wartość zgodnie z instrukcjami. W ten sposób możesz skonstruować taką pętlę:

    Dla ($ i = 0; $ i -lt $ dni.Długość ; $ i ++)

        $ dni [$ i]

    Tablica.Funkcja długości zwraca wielkość tablicy, która jest zasadniczo liczbą elementów w niej. Można to podłączyć do parametru wyrażenia testowego dla pętli, aby kompleksowo iterować wszystkie elementy.

    Pętla Foreach i pętla Foreach-obiek.

    Foreach (dzień $ za dni)

        $ dzień

    Oszczędza to wysiłek określania rozmiaru tablicy, pozostawiając szczegóły dla Powershell do poradzenia.

    Kiedy powinieneś używać tablic PowerShell

    Największym źródłem błędów w złożonym skrypcie są niepoprawnie odwołane zmienne. Dzieje się tak ze względu na obecność dużej liczby jednoznacznie nazwanych zmiennych, co utrudnia zapamiętanie ich celu.

    Najprostszym rozwiązaniem tego problemu jest intensywne korzystanie z tablic. Wszystkie zmienne powiązane w pewien sposób można przypisać do jednej tablicy i uzyskać dostęp do ich numerów indeksu.

    Najważniejszym przypadkiem użycia Microsoft PowerShell jest automatyzacja, a tablice odgrywają w tym kluczową rolę. Obiekty zwrócone przez CMDLETS PowerShell mogą być przechowywane w tablicach i iterowane. Umożliwia to automatyczne wykonywanie zadań sekwencyjnych, znacznie upraszczając administrację systemu.