Uvod v Array v PowerShellu
Niz je vrsta podatkovne strukture, ki jo lahko uporabimo za shranjevanje zbirke elementov, zbirka elementov je lahko enakega tipa podatkov ali drugačna. Do elementov v matriki je mogoče dostopati s pomočjo indeksa. Indeks matrike se običajno začne pri 0, zato za dostop do prvega elementa morate uporabiti indeks (0). Običajno sta na matriki lahko samo dve operaciji, tj. Dodajanje elementa v matriko ali odstranitev elementa. V tem članku bomo spoznali Array v PowerShellu.
Določitev matrike v PowerShellu
Niz se lahko definira na kateri koli od naslednjih načinov,
@ () Je eden od načinov za določitev matrike.
Primer:
$Subject = @('History', 'Geo', 'Maths')
- Niz se lahko ustvari tudi kot seznam, ločen z vejicami.
$test='testone', 'testtwo', 'testthree'
- Za določen element podatkovne vrste lahko izdelamo matriko, kot sledi,
(int()) $numbersarray = 1, 2, 3, 4, 5
Zgoraj je celoštevilčni niz in lahko vsebuje samo celotne vrednosti.
Dostop do matrike
Določimo niz,
Primer:
('test1', 'test2', 'test3', 'test4')
$ test (0) bo vrnil test1, $ test (3) pa vrnil test4. Številni jeziki omogočajo določitev samo enega indeksa, medtem ko se v PowerShellu lahko hkrati uporablja več indeksov.
V zgornjem $ preskusu (1, 3) se bo vrnil,
test2
test4
Operacije na matriki
Dodajanje elementov v matriko. Poglejmo primer, kako dodati element obstoječemu nizu.
Primer:
('welcome', 'home')
Če želite dodati zgornji niz, se uporablja operator '+ ='.
$ test + = 'Raj'
Če se prikaže $ test, se bo vrnil,
dobrodošli
domov
Raj
Pridobivanje števila matrike
Tukaj razlagamo, kako uporabiti naslednji vhod, da dobimo število matrike.
Vnos:
('test1', 'ertr', 'fgdfgfd', 'dfgfdg', 'dfdfsd', 'dfgfdgdfg')
$ test.Count vrne 6, kar je število / dolžina matrike.
1. Razvrščanje elementov v matriki
Operator razvrščanja se lahko uporablja za razvrščanje elementov matrike, če so elementi istega podatkovnega tipa.
Vnos:
('oneee', 'zddsdsad', 'thraewawe')
$test |sort
Zgornji ukaz bo razvrstil elemente v naraščajočem vrstnem redu
Izhod:
Vnos:
$test |sort -Descending will sort the elements in the descending order
Izhod:
2. Posodabljanje elementa v matriki
Indeks lahko uporabite za posodobitev elementa v matriki
Vnos:
('oneee', 'zddsdsad', 'thraewawe')
$test(0)='changed'
Zgornji ukaz bo spremenil 'one' v 'spremenjen'. Izvedba $ testa se vrne
Izhod:
3. Iskanje elementa v matriki
Za preverjanje vrednosti matrike lahko uporabite podobnega operaterja
Vnos:
('viki', ramu, 'aravind', 'vikram')
$test -like "*vik*"
Izhod:
Večdimenzionalni niz v PowerShellu
Večdimenzionalni niz lahko ustvarimo na naslednji način,
$testMultidimensionalArrays = @(1, 2, 3), @(4, 5, 6), @(7, 8, 9)
Vsak niz ima eno vrstico in tri stolpce.
Zankanje matrike
Kot v vseh drugih jezikih se lahko tudi zanka za zanko uporabi v nizu elementov.
Vnos:
('viki', 'ramu', 'aravind', 'vikram')
for($i=0;$i -lt $test.Length; $i++)
(
Write-Host $test($i) )
Izhod :
Vsak za vsakega lahko uporabite za izvedbo dejanja zoper vsako postavko v matriki.
Vnos:
(1, 4, 5, 6, 7, 8, 9, 10)
foreach($i in $test)
(
$i=$i+5
Write-Host $i
)
Izhod:
Seznam matrikov v PowerShellu
Ena od pomanjkljivosti Array je dodajanje elementov, da bi premagali, da imamo seznam nizov.
Sledi sintaksa za ustvarjanje Array seznama,
$myarray = (System.Collections.ArrayList)::new()
$myarray.Add(1)
$myarray.Add(2)
$myarray.Add(3)
$myarray
Prva vrstica je način za inicializacijo Array seznama, naslednje vrstice pa dodajanje elementov v ArrayList
Učinkovitost seznama nizov
Naslednji primeri prikazujejo razliko v uspešnosti med izvajanjem operacije na seznamu nizov in nizov
Vnos:
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
Prvi ukaz izvede operacijo na matriki, tretja vrstica pa isto na seznamu matrike.
Izhod:
- Delovanje Array
- Učinkovitost Array List
Učinkovitost seznama matrike je hitrejša in boljša od uspešnosti matrike.
Primer matrike v PowerShellu
Sledi primer iskanja dolžine matrike, ki uporablja za zanko, zanko foreach in while zanko.
Vnos:
$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
Izhod:
Hash Tabela
Tabela Hash se uporablja za izvajanje strukturiranega niza. V tabeli hash so vrednosti shranjene v obliki ključ-vrednost. Znani so tudi kot slovar ali asociativni niz.
Sintaksa:
()
Or
( key1=”test1”;key2=”test2”;key3=”test3”)
Kjer so key1, key2 in key3 ključi in test1, test2 in test3 so vrednosti.
Vnos :
$testhashtable
Izhod:
Ključ ali vrednosti lahko dostopate na naslednji način z operaterjem .dot
Vnos:
$testhashtable.keys
Izhod:
Vnos:
$testhashtable.Values
Izhod:
Primer
Sledi primer iskanja vseh ključev, ki jih je mogoče mešati in vrednosti mešanice.
Vnos:
$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
Izhod:
Zaključek - Niz v PowerShellu
Glavna prednost matrike je upravljanje s pomnilnikom. Do njih lahko dostopate neposredno iz predpomnilnika, kar pomaga pri hitrejšem iskanju. Ko je razglašena, jih je mogoče večkrat uporabiti.
Priporočeni članki
To je vodnik za Array v PowerShellu. Tukaj razpravljamo o uvedbi in izvajanju matrike, seznama nizov in hash tabele v PowerShellu. Če želite izvedeti več, si oglejte tudi naslednje članke -
- PowerShell proti CMD
- Najboljših 7 različic PowerShell-a
- Prednosti Array
- Ključna razlika med PowerShell in Bash