Úvod do poľa v PowerShell

Pole je typ dátovej štruktúry, ktorú je možné použiť na ukladanie kolekcie položiek, kolekcia položiek môže byť buď rovnakého typu údajov alebo rôznych. K prvkom v poli je možné pristupovať pomocou indexu. Index poľa obvykle začína na 0, takže na prístup k prvému prvku musíte použiť index (0). Zvyčajne môžu byť na poli iba dve operácie, tj pridanie prvku do poľa alebo odstránenie prvku. V tomto článku sa budeme dozvedieť o Array v PowerShell.

Definovanie poľa v PowerShell

Pole možno definovať ktorýmkoľvek z nasledujúcich spôsobov,

@ () Je jedným zo spôsobov, ako definovať pole.

Príklad:

$Subject = @('History', 'Geo', 'Maths')

  • Pole je možné vytvoriť aj ako zoznam oddelený čiarkami.

$test='testone', 'testtwo', 'testthree'

  • Pole je možné vytvoriť pre konkrétny prvok údajového typu nasledovne:

(int()) $numbersarray = 1, 2, 3, 4, 5

Vyššie uvedené je celé pole a môže obsahovať iba celé čísla.

Prístup k poľu

Definujme pole,

Príklad:

('test1', 'test2', 'test3', 'test4')

$ test (0) vráti test1, $ test (3) vráti test4. Mnoho jazykov umožňuje zadať iba jeden index, zatiaľ čo v PowerShell je možné súčasne používať viacero indexov.

Vo vyššie uvedenom $ teste (1, 3) sa vráti,

test2

test4

Operácie na poli

Pridávanie položiek do poľa. Pozrime sa na príklad, ako pridať prvok do existujúceho poľa.

Príklad:

('welcome', 'home')

Na pridanie do vyššie uvedeného poľa sa použije operátor '+ ='.

$ Test + = 'Raj'

Spustený $ test sa vráti,

vitajte

Domov

raj

Získanie počtu polí

Tu vysvetlíme, ako použiť nasledujúci vstup na získanie počtu polí.

vstup:

('test1', 'ertr', 'fgdfgfd', 'dfgfdg', 'dfdfsd', 'dfgfdgdfg')

$ test.Count vráti 6, čo je počet / dĺžka poľa.

1. Triedenie prvkov v poli

Operátor triedenia sa môže použiť na triedenie prvkov poľa, ak sú prvky rovnakého dátového typu.

vstup:

('oneee', 'zddsdsad', 'thraewawe')
$test |sort

Vyššie uvedený príkaz zoradí prvky vzostupne

Výkon:

vstup:

$test |sort -Descending will sort the elements in the descending order

Výkon:

2. Aktualizácia položky v poli

Index možno použiť na aktualizáciu prvku v poli

vstup:

('oneee', 'zddsdsad', 'thraewawe')
$test(0)='changed'

Vyššie uvedený príkaz zmení „jeden“ na „zmenený“. Vykonanie $ testu sa vráti

Výkon:

3. Nájdenie prvku v poli

Na kontrolu hodnoty poľa sa môže použiť podobný operátor

vstup:

('viki', ramu, 'aravind', 'vikram')
$test -like "*vik*"

Výkon:

Viacrozmerné pole v PowerShell

Môžeme vytvoriť viacrozmerné pole nasledovne:

$testMultidimensionalArrays = @(1, 2, 3), @(4, 5, 6), @(7, 8, 9)

Každé pole má jeden riadok a tri stĺpce.

Opakovanie poľa

Rovnako ako v iných jazykoch, aj slučka for loop sa môže použiť na slučovanie položiek v poli.

vstup:

('viki', 'ramu', 'aravind', 'vikram')
for($i=0;$i -lt $test.Length; $i++)
(
Write-Host $test($i) )

Výstup :

For-each sa dá použiť na vykonanie akcie proti každej položke v poli.

vstup:

(1, 4, 5, 6, 7, 8, 9, 10)
foreach($i in $test)
(
$i=$i+5
Write-Host $i
)

Výkon:

Zoznam polí v PowerShell

Jednou z nevýhod programu Array je pridávanie položiek, aby sme prekonali, že máme zoznam polí.

Nasleduje syntax na vytvorenie zoznamu polí,

$myarray = (System.Collections.ArrayList)::new()
$myarray.Add(1)
$myarray.Add(2)
$myarray.Add(3)
$myarray

Prvý riadok je spôsob, ako inicializovať zoznam polí a nasledujúce riadky majú pridať položky do zoznamu polí

Array verzus Array List Performance

Nasledujúce príklady ukazujú rozdiel vo výkone pri vykonávaní operácie na poli a zozname 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

Prvý príkaz vykonáva operáciu na poli a tretí riadok robí to isté v zozname polí.

Výkon:

  • Výkonnosť súboru

  • Výkonnosť zoznamu polí

Výkonnosť zoznamu polí je rýchlejšia a lepšia ako výkonnosť poľa.

Príklad poľa v PowerShell

Nasleduje príklad na nájdenie dĺžky poľa používajúceho pre slučku, slučku 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ýkon:

Hašovací stôl

Hašovacia tabuľka sa používa na implementáciu štruktúrovaného poľa. V hašovacej tabuľke sú hodnoty uložené vo formáte kľúč-hodnota. Sú známe aj ako Slovník alebo Asociatívne pole.

syntaxe:

()

alebo

( key1=”test1”;key2=”test2”;key3=”test3”)

Kde key1, key2 a key3 sú kľúče a test1, test2 a test3 sú hodnoty.

Vstup :

$testhashtable

Výkon:

K kľúču alebo hodnotám sa dá pristupovať pomocou operátora .dot nasledujúcim spôsobom

vstup:

$testhashtable.keys

Výkon:

vstup:

$testhashtable.Values

Výkon:

príklad

Nasleduje príklad na nájdenie všetkých hashtable klávesov a hashtable hodnôt.

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ýkon:

Záver - pole v PowerShell

Hlavnou výhodou poľa je správa pamäte. Sú prístupné priamo z vyrovnávacej pamäte, čo pomáha pri rýchlejšom vyhľadávaní. Sú opakovane použiteľné, akonáhle je vyhlásené, môžu byť opakovane použité opakovane.

Odporúčané články

Toto je príručka pre Array v PowerShell. Tu diskutujeme o zavedení a implementácii poľa, zoznamu polí a hašovacej tabuľky v PowerShell. Ďalšie informácie nájdete aj v nasledujúcich článkoch -

  1. PowerShell vs CMD
  2. Top 7 verzií PowerShell
  3. Výhody poľa
  4. Kľúčový rozdiel medzi PowerShell a Bash

Kategórie: