Uvod v PowerShell ForEach zanko

Razumevanje ForEach zanke v PowerShellu, ForEach in forLoop, ki opravljata iste naloge, oba za manipuliranje in izvajanje istega dela kode na ponavljajoči se osnovi. Če berete vsak element matrike ali morda berete vsako vrstico datoteke, v takšnem stanju uporabljamo foreach. Na primer, niz, ki vsebuje uporabnike in želimo uporabnika preveriti z imenom "Vijay", zato moramo preveriti vsak element in za to potrebujemo zanko "foreach" in ko uporabnik "Vijay" najde najdeno zanko. Če bi morali pred dejanjem pogledati atribut mesta vsakega uporabnika, lahko uporabite zanko ForEach in lahko izvedete vsako delo na vsakem mestu. ForEach prihrani malo pomnilnika in časa v primerjavi z zanko. V PowerShell 4.0 in novejši različici metoda ForEach zagotavlja še hitrejše delovanje.

Sintaksa zanke ForEach

Spodaj je skladnja

foreach ($ in $)
(


)

V zgornji sintaksi lahko vidimo, da bomo vsakič, ko bo izbran en element iz Actualarray in bo šel v obdelavo znotraj foreach zanke. Če je $ prazno ali v njem ni nobenega elementa, ne bo šel za izvedbo izjav. PowerShell ustvari spremenljivko $ samodejno, ko teče zanka Foreach. Na primer, zanka Foreach v naslednjem primeru prikazuje vrednosti v matriki $ students. V zanki smo morali napisati logiko, da preverimo, ali je matrika prazna ali ne. Zanka foreach izvede blok stavkov, če je v polju poljuben element.

Koda:

$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
)

Izhodni in kodni zasloni:

Diagram pretoka za zanko PowerShell ForEach

Spodaj je diagram poteka za zanko PowerShell ForEach:

Pojasnilo zgornjega diagrama pretoka: Zgornji diagram poteka zelo jasno predstavlja tok. Ko se izvedba najprej začne, bo preverila podatke (preverjanje, ali je element tam v matriki), če se ustavi prazna zanka. Če pa je Data tam, bo nadaljeval izvajanje in izvedel stavek 1, stavek 2, stavek 3 do zadnjih podatkov matrike. Ko Array prejmete izvedbo ustavitve prazne zanke.

Izhod:

Pojasnilo zgornjega izhoda: Zgornji zaslon prikazuje, če sta bila v notranjosti matrike dva atributa, je bilo tiskanje dvakrat, zdravo, če pa smo naredili $ študente kot prazno matriko, ni zdravo tisk, to pomeni, da je v katerem koli atributu znotraj $ študentov matrike, kot da bo izvedel blok stavkov, sicer ga ne izvrši.

Kako deluje ForEach Loop v PowerShellu?

Recimo, da imamo 4 elemente in želimo vsako število pomnožiti s petimi. Recimo, da imamo $ a, $ b, $ c, $ d in moramo vsako pomnožiti s 5, kar bomo storili, poglejte spodaj primer:

Vzorec koda:

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

Tako smo dobili svoj rezultat. Ampak bilo je dobro, dokler ne bomo imeli samo 4 elementov, ki jih lahko pomnožimo s 5, predpostavimo, da bo 10000 elementov, ki jih je treba pomnožiti s 5, potem bi bilo pisanje za vsakega zelo mučna naloga.

Kaj bi torej bila lahka rešitev zanj? Vse, kar moramo storiti, je, da bi ustvarili matriko z vsemi našimi elementi in matriko prenesli s foreachom ter vsak element pomnožili s 5. Če želimo pomnožiti število pet z vsakim elementom v matriki, moramo iti skozi matriko z ukazom ForEach.

Tukaj je celoten skript:

Koda:

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

Izhod:

Pojasnilo zgornje kode: V zgornjih primerih, ki jih lahko vidimo, smo definirali še eno spremenljivko $ f in ji dodelili vse 4 spremenljivke, zaradi česar je matrika. Na koncu jo prepustimo iz predelne zanke, ki nam je dala rezultat 10, 20, 45, 25. Tako si olajšamo življenje, saj bi v resničnem življenju morali biti posnetki, ki jih je treba spremeniti, tako da tega ne moremo storiti drug za drugim, zato z njimi uporabljamo predogledno zanko. Samo enkrat zaženite in spremenite toliko želenega zapisa.

Primeri v zanki PowerShell ForEach

Spodaj je primer v PowerShell ForEach zanki:

Primer # 1

Skozi matriko nizov, ki vsebuje imena učencev, poiščite dolžino vsakega niza znotraj matrike.

Koda:

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

Izhod: Ranjan = 6, Ajay = 4, Vijay = 5, Sujit = 5, John = 4, Rakeš = 6, Hari = 4.

Primer # 2

Naj navedem en primer iz resničnega življenja. Pri pregledih ste videli 30 od 100, ki so bile včasih pozitivne ocene. Predpostavimo, da ima študent laks in da obstaja eno pravilo, če kateri študent dobi 27 mark, mu dajte 30 mark, kar pomeni, da v njegovih 27 ocen dodate še 3 ocene. Torej prelistamo matriko ocen študentov in dodamo 3 ocene, če je njihova ocena 27, in jih pustimo pri izpitih, saj je 30 točk uspešno opravljenih ocen.

Koda:

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

Rezultat: Bila sta dva študenta, vendar je bilo preverjanje ročno v lakih študentov za 27 mark nekoliko mučna naloga, ki smo jo rešili.

Primer # 3

Še en primer, poiščite vse številke med 1 in 100, ki so popolnoma deljive z 10.

Koda:

$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

Izhod:

Zaključek

Za zaključek nam izrek foreach zanke omogoča, da izjavo ali skupino stavkov izvedemo večkrat skupaj s preverjanjem razpoložljivosti elementov v matriki, kar pomeni zagon naslednjega stavka, če obstajajo elementi. Zanke Foreach tečejo le, če so znotraj matrike kakršni koli elementi, zaradi česar je drugače kot pri zanki.

Priporočeni članki

To je vodnik za PowerShell ForEach zanko. Tukaj razpravljamo o tem, kako ForEach Loop deluje v PowerShellu?, z različnimi primeri. Obiščite lahko tudi druge naše sorodne članke, če želite izvedeti več -

  1. Za zanko v R
  2. Kaj je PowerShell
  3. Uporabe Powershell-a
  4. Kako namestiti PowerShell
  5. Niz v PowerShellu | Primeri

Kategorija: