Jak używać hashtables w PowerShell

Jak używać hashtables w PowerShell
Hashtables są używane do przechowywania wartości zawierających klucz. Na przykład masz szafkę; Tylko jeśli masz klucze, otworzysz zamek. To samo dotyczy hashtab. Spójrzmy na kolejny scenariusz. Załóżmy, że szukasz książki w bibliotece i zaczynasz od odebrania książki najbliżej drzwi, a następnie następnej książki i tak dalej. Znalezienie żądanej książki zajęłoby to dużo czasu.

Alternatywnie możesz sprawdzić indeks biblioteki, który da ci przybliżoną lokalizację książki. Funkcjonalność hashtabla jest podobna do indeksu biblioteki. Hashtables umożliwiają programy do przewidywania i szybkiego pobierania danych. Technologie takie jak Google, które analizują dane w terabajtach i sprawia, że ​​można je wyszukiwać w sekundzie, byłoby niemożliwe bez wdrażania hashtabów w ich kodzie.

Jakie są hashtable w PowerShell?

Hashtables to najbardziej przydatne struktury danych w PowerShell. Hashtable składa się z serii par „kluczowych” i „wartości”. Te tabele można wykorzystać na wiele różnych sposobów. Wykorzystaj je jako tabele wyszukiwania danych, umożliwiając zapytanie do hashtabla na podstawie jego klucza i odzyskania powiązanej wartości. Pomogłoby to zlokalizować pojemnik odpowiadający „klucz„Aby odzyskać„wartość".

W praktyce korzystanie z klawiszy jako wyszukiwania danych jest wydajne i może pomóc w pamięci podręcznej. Jeśli masz dużą liczbę danych odniesienia i nie chcesz regularnie je zapytać w bazie danych, możesz użyć hashtable do buforowania wyniku i zapisania go, aby uzyskać dostęp do niego szybciej. Te tabele nie pozwalają na dodanie „ZERO”Wartości, które pomagają zapisać pamięć.

Ten artykuł pokaże Ci Jak używać hashtables w PowerShell. Więc zacznijmy!

Jak używać hashtables w PowerShell

Przede wszystkim otwórz swoje „Windows PowerShell Ise”Poszukując go ręcznie w polu wyszukiwania:

Z pliku wybierz opcję „Nowy”I stwórz nowy skrypt PowerShell:

Teraz utwórz prostą hashtable, deklarując go w skrypcie PowerShell. Podaj swoją nazwę hashtabla za pomocą „$„Zmienne i zdefiniuj jego wartość wewnątrz kręconych aparatów ortodontycznych”@".

$ colorList = @id = 1; Shape = „kwadrat”; Color = "blue"
$ kolorystyka

W naszym skrypcie zadeklarowaliśmy hashtable o nazwie „$Lista kolorów„Posiadanie kluczy”ID, Kształt, Kolor„Z ich odpowiednimi wartościami:„1, Kwadrat, Niebieski".

Zapisz ten skrypt jako „testFile1.PS1”I uruchom ten skrypt PowerShell:

Wykonanie „testFile1.PS1„Pokazuje następujące dane wyjściowe:

Możesz także zdefiniować „Klucze" i ich "wartości”Jako oddzielne zmienne. Następnie używasz „dodać()”Funkcja, aby dodać klucze i ich wartości w hashcie.

$ key = „Dave”
$ wartość = 36
$ Agelist.Dodaj ($ klucz, $ wartość)
$ Agelist.Dodaj („Alex”, 9)
$ Agelist

W tym skrypcie minęliśmy „Dave" I "36" Jak "$ klucz" I "$ wartość”Jako zmienne w„dodać()”Funkcja. W przeciwieństwie, "Alex" I "9”Są przekazywane bezpośrednio w tej samej funkcji. Obie instrukcje wywołujące funkcje dodają klawisze i wartości w hashtable.

Jak uzyskać dostęp do wartości hashtabla w PowerShell

Widziałeś metodę dodawania klawiszy i ich wartości w hashcie. Podobnie możesz uzyskać dostęp do klucza o jego odpowiedniej wartości.

$ agelist = @
$ key = 'kevin'
$ wartość = 36
$ Agelist [$ key] = $ wartość
$ Agelist ['Alex'] = 9
$ Agelist

Jak deklarować hashtację z wartościami w PowerShell

PowerShell zapewnia dwie metody tworzenia hashtabla. Pierwszym z nich jest stworzenie pustej hashtable, a następnie dodanie „Klucze" I "wartości" w tym. W innej metodzie możesz zadeklarować hashtację za pomocą „Klucze" I wartości" natychmiast. Poniższy przykład wykaże ci tę koncepcję:

$ agelist = @
Kevin = 36
Alex = 9

$ Agelist

Jak iterować hashtable w PowerShell

Hashtable to połączenie kluczy i wartości; jest iterowany w inny sposób niż tablica lub zwykła lista obiektów. Pierwszą rzeczą, którą musisz zauważyć w komendzie poniżej, jest to, że prowadzimy nasz hashtable za pomocą operatora rur [”|”]; Operator rur traktuje hashtable jak jeden obiekt. Natomiast "Miara-obiekt”Komenda jest wykorzystywana do wyodrębnienia wartości właściwości hashtabla.

> $ AGELIST | Miara-obiekt

Wykonanie powyższego komendy wyświetli następujące dane wyjściowe w PowerShell:

Możesz także użyć „Getenumerator ()„Metoda do celów iteracji w stosunku do hashta. Użyj tej funkcji z „Foreach-obiekt”, Pokaże ci klucz i jego sparowaną wartość jeden po drugiej.

$ Agelist.Getenumerator () | Foreach-obiek
$ message = '0 ma 1 lata!'-f $ _.klucz, $ _.wartość
WYSOKIWANIA OUTUPTUT $

Jak sprawdzić liczbę wartości hashtańskich w PowerShell

„„.liczyć„Właściwość służy do obliczenia całkowitej liczby wartości w hashcie. Możesz użyć tej właściwości z hashtablem w następujący sposób:

> $ AGELIST.liczyć

Jak zamówić klawisz/wartości hashtable w PowerShell

Jeśli chcesz, aby Twoje klawisze i wartości hashtabla znajdowały się w kolejności, w której je definiujesz, możesz określić „[Zamówiono]„Słowo kluczowe, deklarując hashtację w skrypcie:

$ person = [zamówiono]@
name = „Kevin”
Wiek = 36

$ osoba

Wykonaj to „testFile1.PS1„Skrypt i wydrukuje klawisze i ich wartości, według których zdefiniowaliśmy je w naszym skrypcie:

Bez [Zamówiono] Opcja, skrypt pokaże następujące dane wyjściowe:

Wniosek

Hashtables są dość znaczące w PowerShell Można to wykorzystać w bardziej zaawansowanych scenariuszach administracyjnych i scenariuszy. Użycie hashtable przez PowerShell pokazuje również, jak pomocne wyjście PowerShell jako obiekty mogą być. W przypadku niemal dowolnego rodzaju danych hashtables są skutecznym sposobem przechowywania pary klawiszy/wartości.

Ten wzór pomaga zlokalizować pojemnik, który odpowiada „klucz„Aby odzyskać„wartość”; W praktyce wykorzystanie klawiszy jako wyszukiwania danych jest wydajne i przydatne w buforowaniu. W tym artykule pokazaliśmy ci Jak używać hashtables w PowerShell, w tym metodę tworzenia hashtabla, deklarowania i uzyskiwania dostępu do jego wartości, sprawdzania, zamawiania wartości hashtańskich.