Powershell - Hashtables
Hashtable przechowuje pary klucz / wartość w tabeli skrótów. Korzystając z tablicy z haszowaniem, określasz obiekt, który jest używany jako klucz, oraz wartość, którą chcesz połączyć z tym kluczem. Generalnie jako klucze używaliśmy ciągów znaków lub liczb.
W tym samouczku przedstawiono, jak deklarować zmienne z funkcją hashy, tworzyć tabele skrótów i przetwarzać tablice skrótów za pomocą jej metod.
Deklarowanie zmiennych haszujących
Aby użyć tablicy hashy w programie, musisz zadeklarować zmienną odwołującą się do tablicy hashy. Oto składnia deklarowania zmiennej haszującej -
Składnia
$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"}
or
$hash = @{}
Note- Uporządkowane słowniki można tworzyć przy użyciu podobnej składni. Uporządkowane słowniki zachowują kolejność, w jakiej wpisy są dodawane, podczas gdy tabele skrótów nie.
Przykład
Poniższe fragmenty kodu są przykładami tej składni -
$hash = [ordered]@{ ID = 1; Shape = "Square"; Color = "Blue"}
Wydrukuj tablicę haszującą.
$hash
Wynik
Name Value
---- -----
ID 1
Color Blue
Shape Square
Dostęp do wartości hashtable można uzyskać za pośrednictwem pliku keys.
> $hash["ID"]
1
Przetwarzanie Hashtable
Notacja kropkowa może być używana do uzyskiwania dostępu do kluczy lub wartości tabel skrótów.
> $hash.keys
ID
Color
Shape
> $hash.values
1
Blue
Square
Przykład
Oto kompletny przykład pokazujący, jak tworzyć, inicjować i przetwarzać tablicę hashy -
$hash = @{ ID = 1; Shape = "Square"; Color = "Blue"}
write-host("Print all hashtable keys")
$hash.keys
write-host("Print all hashtable values")
$hash.values
write-host("Get ID")
$hash["ID"]
write-host("Get Shape")
$hash.Number
write-host("print Size")
$hash.Count
write-host("Add key-value")
$hash["Updated"] = "Now"
write-host("Add key-value")
$hash.Add("Created","Now")
write-host("print Size")
$hash.Count
write-host("Remove key-value")
$hash.Remove("Updated")
write-host("print Size")
$hash.Count
write-host("sort by key")
$hash.GetEnumerator() | Sort-Object -Property key
To da następujący wynik -
Wynik
Print all hashtable keys
ID
Color
Shape
Print all hashtable values
1
Blue
Square
Get ID
1
Get Shape
print Size
3
Add key-value
Add key-value
print Size
5
Remove key-value
print Size
4
sort by key
Name Value
---- -----
Color Blue
Created Now
ID 1
Shape
Square