Sissejuhatus PowerShelli ForEach Loopi

ForEach Loopi mõistmine PowerShellis, ForEachis ja forLoopis täidavad samu ülesandeid, mõlemad on mõeldud sama kooditüki korduvaks manipuleerimiseks ja täitmiseks. Kui loete massiivi iga elementi või võib juhtuda, et ta loeb faili iga rida, siis sellistes tingimustes kasutame me foreachi. Näiteks massiiv, mis sisaldab kasutajaid ja me tahame kontrollida kasutajat nimega „Vijay“, seega peame kontrollima iga elementi ja selleks on meil vaja „foreach“ silmust ning kui kasutaja „Vijay“ leitud silmus väljub. Kui enne toimingu tegemist oli vaja uurida iga kasutaja atribuuti linna peal, võiksite kasutada ForEach Loop'i ja teha iga linnaga vastavaid töid.ForEach säästab võrreldes silmuse jaoks vähe mälu ja aega. PowerShell 4.0 ja uuemates versioonides pakub ForEach meetod veelgi kiiremat jõudlust.

ForEachi silmuse süntaks

Allpool on toodud süntaks

foreach ($ in $)
(


)

Ülaltoodud süntaksis näeme, et iga kord, kui valitakse üks element Actualarray'st, suunatakse see üksus töötlemiseks ettekujutise ahelasse. Kui $ on tühi või kui sellel pole ühtegi eset, siis see väljavõtete täitmiseks ei kehti. PowerShell loob muutuja $ automaatselt, kui Foreachi silmus töötab. Näiteks järgmises näites Foreachi silmus kuvatakse väärtused $ õpilaste massiivis. Silmuse jaoks pidime kirjutama loogika, et kontrollida, kas massiiv on tühi või mitte, foreach silmus käivitab avalduste ploki, kui massiivi sees on mõni element.

Kood:

$students = ""
PS /home/ranjan> foreach ($student in $students)
(
Write-Host $student
)
output nothing, which means checking of array elements attributes are done internally by foreach loops.
$students = "ajay", "vijay", "ranjan", "akash", ”vikash”
foreach ($student in $students)
(
Write-Host $student
)

Väljund- ja koodiekraanid:

PowerShelli ForEach Loopi vooskeem

Allpool on toodud PowerShelli ForEach Loopi vooskeem:

Ülaltoodud vooskeemi selgitus: ülaltoodud vooskeem tähistab voolu väga selgelt. Kui käivitamine algab kõigepealt, kontrollib ta andmeid (kontrollides, kas element on massiivis olemas), kas tühi silmus peatub. Kuid kui andmed on olemas, jätkab see täitmist ja käivitab avalduse 1, väite 2, avalduse 3 kuni massiivi viimaste andmeteni. Kui massiiv saab tühja silmuse, peatage täitmine.

Väljund:

Ülaltoodud väljundi selgitus: ekraani ülaosas on näha, et kui massiivi sees oli kaks atribuuti, siis see trükiti kaks korda, tere, aga kui me tegime $ õpilastele tühja massiivina tere printimata, tähendab see, et kui mõni atribuut on $ sees saadaval õpilaste massiivi, kui see käivitab avalduse ploki, muidu ta ei täida.

Kuidas ForEach Loop PowerShellis töötab?

Oletame, et meil on 4 elementi ja me tahame iga arvu korrutada viiega. Oletame, et meil on $ a, $ b, $ c, $ d ja me peame kõik korrutama 5-ga, nii et mida me teeme, vaata allpool näidet:

Näidiskood:

$a=2, $b=4, $c=9, $d=5
$a * 5 =10, $b * $5=20, $c * 5=45, $d*5=25

Seega saime oma tulemuse. Aga see oli hea, kuni meil on 5-ga korrutamiseks ainult 4 eset, kui oletada, et on 10000 elementi, mis tuleb korrutada 5-ga, siis oleks igaühe jaoks väga tüütu ülesanne kirjutada.

Mis oleks selle jaoks lihtne lahendus? Peame vaid looma massiivi koos kõigi oma elementidega ja edastama massiivi ettekuulutamise teel ning korrutama iga elemendi arvuga 5. Massiivi igale elemendile arvu viis korrutamiseks peame kõndima massiivist kasutades käsku ForEach.

Siin on kogu skript:

Kood:

$a = 2, $b = 4, $c = 9, $d =5
$f = $a, $b, $c, $d
Foreach ($i in $f)
(
$i * 5
)

Väljund:

Ülaltoodud koodi selgitus: ülaltoodud näidetes määratlesime üksteise muutuja $ f ja määrasime sellele kõik 4 muutujat, mis teeb sellest massiivi. Lõpuks anname sellest edasi jutlustajast, mis andis tulemuseks 10, 20, 45, 25. Nii muudame oma elu lihtsamaks, kuna reaalses elus oleks rekordilisi laike, mida on vaja muuta, nii et me ei saa seda ükshaaval teha, seetõttu kasutame nende lahendamiseks foreachi silmust. Lihtsalt jookse üks kord ja muutke nii palju kui soovite.

Näited rakenduses PowerShell ForEach Loop

Allpool on näide rakendusest PowerShell ForEach Loop:

Näide nr 1

Sirvige rida stringe, mis sisaldab õpilaste nimesid, ja leidke massiivi iga stringi pikkus.

Kood:

$students = @("Ranjan", "Ajay", ”Vijay", "Sujit", "John", "Rakesh", ”Hari”)
foreach ($student in $students) (
"$student = " + $student.length
)

Väljund: Ranjan = 6, Ajay = 4, Vijay = 5, Sujit = 5, John = 4, Rakesh = 6, Hari = 4.

Näide 2

Lubage mul tuua teile üks reaalse elu näide. Eksamitel olete näinud 30 hinnet 100-st, mis olid varem läbitud hinded. Nii et oletame, et õpilastest on puudust ja on üks reegel, kui mõni õpilane saab 27 hinde, annab talle 30 hinde, see tähendab, et lisage oma 27 hinde juurde ainult 3 marka. Seega lükkame õpilaste hinnete hulga läbi ja lisame 3 hindepunkti, kui nende hinded on 27, ja laseme neil eksamitel läbi minna, kuna 30 hinde on sooritanud hinded.

Kood:

$marks (34, 39, 49, 12, 27, 80, 23, 88, 27)
foreach ($mark in $marks) (
if ($mark -eq 27) ( $mark+3 ) else( $num)
)

Väljund: oli kaks õpilast, kuid käsitsi kontrollimine õpilaste lakhides 27 marka jaoks oli natuke tüütu ülesanne, mille me lahendasime.

Näide 3

Teine näide: leidke kõik numbrid vahemikus 1 kuni 100, mis on 10-ga täiesti jagatavad.

Kood:

$numbers (1..100)
foreach ($number in $numbers)
(
if ( -not ($number % 10) )
(
"$number is totally divisible by 10"
)
)
10 is totally divisible by 10
20 is totally divisible by 10
30 is totally divisible by 10
40 is totally divisible by 10
50 is totally divisible by 10
60 is totally divisible by 10
70 is totally divisible by 10
80 is totally divisible by 10
90 is totally divisible by 10
100 is totally divisible by 10

Väljund:

Järeldus

Kokkuvõtteks võib öelda, et foreach silmuse avaldus võimaldab meil avaldust või avalduste rühma mitu korda käivitada koos massiivi elementide saadavuse kontrollimisega, mis tähendab järgmise avalduse käivitamist, kui elemente on. Foreach silmused töötavad ainult siis, kui massiivi sees on mingeid elemente, mis muudab selle teistsuguseks kui silmuse jaoks.

Soovitatavad artiklid

See on PowerShelli ForEach Loopi juhend. Siin arutame, kuidas ForEach Loop PowerShellis töötab?, erinevate näidetega. Lisateavet leiate ka meie muudest seotud artiklitest -

  1. Loopi jaoks R-s
  2. Mis on PowerShell?
  3. Powershelli kasutusviisid
  4. Kuidas installida PowerShelli
  5. Massiiv PowerShellis | Näited

Kategooria: