Úvod do pole v PowerShell
Pole je typ datové struktury, kterou lze použít k uložení kolekce položek, kolekce položek může být stejného datového typu nebo se může lišit. K elementům v poli lze přistupovat pomocí indexu. Index pole obvykle začíná na 0, takže pro přístup k prvnímu prvku musíte použít index (0). Typicky mohou být na poli pouze dvě operace, tj. Přidání prvku do pole nebo odebrání prvku. V tomto článku se dozvíme o Array v PowerShell.
Definování pole v PowerShell
Pole lze definovat některým z následujících způsobů,
@ () Je jedním ze způsobů definování pole.
Příklad:
$Subject = @('History', 'Geo', 'Maths')
- Pole lze také vytvořit jako seznam oddělený čárkami.
$test='testone', 'testtwo', 'testthree'
- Pro konkrétní prvek datového typu lze vytvořit pole následujícím způsobem,
(int()) $numbersarray = 1, 2, 3, 4, 5
Výše uvedené je celočíselné pole a může obsahovat pouze celočíselné hodnoty.
Přístup k poli
Definujme pole,
Příklad:
('test1', 'test2', 'test3', 'test4')
$ test (0) vrátí test1, $ test (3) vrátí test4. Mnoho jazyků umožňuje zadat pouze jeden index, zatímco v PowerShell lze použít více indexů současně.
Ve výše uvedeném $ testu (1, 3) se vrátí,
test2
test4
Operace na poli
Přidávání položek do pole. Podívejme se na příklad, jak přidat prvek do existujícího pole.
Příklad:
('welcome', 'home')
K přidání do výše uvedeného pole se použije operátor '+ ='.
$ test + = 'Raj'
Spustí se $ test,
Vítejte
Domov
Raj
Získání počtu polí
Zde vysvětlíme, jak pomocí následujícího vstupu získat počet polí.
Vstup:
('test1', 'ertr', 'fgdfgfd', 'dfgfdg', 'dfdfsd', 'dfgfdgdfg')
$ test.Count vrátí 6, což je počet / délka pole.
1. Třídění prvků v poli
Operátor řazení lze použít k třídění prvků pole, pokud jsou prvky stejného datového typu.
Vstup:
('oneee', 'zddsdsad', 'thraewawe')
$test |sort
Výše uvedený příkaz třídí prvky ve vzestupném pořadí
Výstup:
Vstup:
$test |sort -Descending will sort the elements in the descending order
Výstup:
2. Aktualizace položky v poli
Index lze použít k aktualizaci prvku v poli
Vstup:
('oneee', 'zddsdsad', 'thraewawe')
$test(0)='changed'
Výše uvedený příkaz změní „jeden“ na „změněný“. Provede se $ test
Výstup:
3. Nalezení prvku v poli
Pro kontrolu hodnoty pole lze použít stejný operátor
Vstup:
('viki', ramu, 'aravind', 'vikram')
$test -like "*vik*"
Výstup:
Vícerozměrné pole v PowerShell
Můžeme vytvořit vícerozměrné pole následujícím způsobem,
$testMultidimensionalArrays = @(1, 2, 3), @(4, 5, 6), @(7, 8, 9)
Každé pole má jeden řádek a tři sloupce.
Opakování pole
Stejně jako v jiných jazycích lze smyčku for použít ke smyčce položek v matici.
Vstup:
('viki', 'ramu', 'aravind', 'vikram')
for($i=0;$i -lt $test.Length; $i++)
(
Write-Host $test($i) )
Výstup :
Pro každý lze použít akci proti každé položce v poli.
Vstup:
(1, 4, 5, 6, 7, 8, 9, 10)
foreach($i in $test)
(
$i=$i+5
Write-Host $i
)
Výstup:
Seznam polí v PowerShell
Jednou z nevýhod Array je přidání položek do ní, abychom překonali, že máme seznam polí.
Následuje syntaxe pro vytvoření seznamu polí,
$myarray = (System.Collections.ArrayList)::new()
$myarray.Add(1)
$myarray.Add(2)
$myarray.Add(3)
$myarray
První řádek je způsob, jak inicializovat seznam polí a následující řádky mají přidat položky do seznamu polí
Array vs Array List Performance
Následující příklady ukazují rozdíl ve výkonu při provádění operace na poli a seznamu polí
Vstup:
Measure-Command -Expression ( 0..250 | ForEach-Object ( $arr += $_+1 ))
$arrlit = (System.Collections.ArrayList)@()
$f arrlit _performance = Measure-Command -Expression ( 0..250 | ForEach-Object ( $ arrlit += $_+1 ))
$ arrlit _performance
První příkaz provede operaci na poli a třetí řádek provede totéž v seznamu polí.
Výstup:
- Výkon pole
- Výkon seznamu polí
Výkon seznamu polí je rychlejší a lepší než výkon pole.
Příklad pole v PowerShell
Následuje příklad, jak najít délku pole pomocí smyčky, smyčky foreach a while loop.
Vstup:
$testlist = 5.634, 4.512323, 3.312323, 13.2213213, 4.02324, 34.3334324, 34.04324, 45.4534324, 99.993234324, 11123234234 write-host("Printing the array elements")
$testlist
write-host("length of array")
$testlist.Length
write-host("fifth element in array")
$testlist(4) write-host("partial array")
$subList = $testlist(1..3) write-host("using for loop")
for ($i = 0; $i -le ($testlist.length - 1); $i += 1) (
$testlist($i) )
write-host("using forEach Loop")
foreach ($e in $testlist) (
$e
)
write-host("using while Loop")
$i = 0
while($i -lt 4) (
$testlist($i);
$i++
)
write-host("Assign values")
$testlist(1) = 10
$testlist
Výstup:
Hash Table
Hash tabulka se používá k implementaci strukturovaného pole. V hašovací tabulce jsou hodnoty uloženy ve formátu klíč-hodnota. Oni jsou také známí jako slovník nebo asociativní pole.
Syntax:
()
Nebo
( key1=”test1”;key2=”test2”;key3=”test3”)
Kde key1, key2 a key3 jsou klíče a test1, test2 a test3 jsou hodnoty.
Vstup :
$testhashtable
Výstup:
Ke klíči nebo hodnotám lze přistupovat pomocí operátoru .dot následujícím způsobem
Vstup:
$testhashtable.keys
Výstup:
Vstup:
$testhashtable.Values
Výstup:
Příklad
Následuje příklad k nalezení všech hashtable klíčů a hashtable hodnot.
Vstup:
$testht = @( English = "85"; Tamil = "100"; maths = "100")
write-host("Printing all the hashtable keys")
$testht.keys
write-host("Printing all the hashtable values")
$testht.values
write-host("print Size")
$testht.Count
write-host("Add key-value")
$testht("Social") = "100"
write-host("Add key-value")
$testht.Add("ss", "110")
write-host("Size")
$testht.Count
write-host("Remove English")
$testht.Remove("English")
write-host("curentSize")
$testht.Count
write-host("sortinh by key")
$testht.GetEnumerator() | Sort-Object -Property key
Výstup:
Závěr - pole v PowerShell
Hlavní výhodou pole je správa paměti. Lze k nim přistupovat přímo z mezipaměti, což pomáhá při rychlejším vyhledávání. Jsou opakovaně použitelné, jakmile je prohlášeno, mohou být opakovaně použity opakovaně.
Doporučené články
Toto je průvodce Array v PowerShell. Zde diskutujeme o zavedení a implementaci pole, seznamu polí a hashovací tabulky v PowerShell. Další informace naleznete také v následujících článcích -
- PowerShell vs. CMD
- Top 7 verzí PowerShell
- Výhody pole
- Klíčový rozdíl mezi PowerShell a Bash