Introduksjon til PowerShell ForEach Loop

Forstå ForEach Loop i PowerShell, ForEach og forLoop som begge utfører de samme oppgavene, begge er for å manipulere og utføre det samme kodestykket på repeterende basis. Hvis du leser hvert element i en gruppe, eller det kan være å lese hver linje i en fil, i en slik tilstand bruker vi foreach. For eksempel en matrise som inneholder brukere, og vi vil sjekke brukeren med navnet "Vijay", så vi må sjekke hvert element, og for det trenger vi en "foreach" -sløyfe og når brukeren "Vijay" -funnet sløyfe vil gå ut. Hvis du hadde behov for å se på byattributtet til hver bruker før du tar en handling, kan du bruke ForEach Loop og du kan utføre respektive arbeid på hver by. ForEch sparer lite minne og tid sammenlignet med for loop. I PowerShell 4.0 og nyere versjon gir ForEach-metoden enda raskere ytelse.

Syntaks for ForEach Loop

Nedenfor er syntaks

foreach ($ in $)
(


)

I syntaksen ovenfor kan vi se, hver gang ett element fra Actualarray blir plukket ut og at elementet vil gå til behandling inne i foreach-løkken. Hvis $ er tomt eller har ingen gjenstander inne i det, vil det ikke gå til utførelse av uttalelser. PowerShell oppretter variabelen $ automatisk når Foreach-løkken kjører. For eksempel viser Foreach-løkken i følgende eksempel verdiene i $ student-matrisen. I for loop måtte vi skrive logikk for å sjekke om matrisen er tom eller ikke. Foreach loop utfører utsagnsblokkering hvis det er noe element i arrayen.

Kode:

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

Utgangs- og kodeskjermer:

Flytskjema for PowerShell ForEach Loop

Nedenfor er flytskjemaet for PowerShell ForEach Loop:

Forklaring av flytskjemaet over: Ovennevnte flytskjema representerer veldig tydelig flyt. Når utførelsen starter først, vil den se etter data (sjekke om elementet er der i matrisen) om det er tom sløyfe vil stoppe. Men hvis data er der, vil det fortsette utførelsen og utføre setning 1, setning 2, setning 3 til siste data av matrisen. Når Array får tom sløyfe, stopp kjøringen.

Produksjon:

Forklaring av utskriften ovenfor: Over skjermen viser det seg at hvis det var to attributter i arrayen, ble det skrevet ut to ganger, hei, men hvis vi laget $ studenter som et tomt utvalg, ikke noe hallo-trykk, betyr det at i tilfelle noen attributt er tilgjengelig i $ studenter matrise enn det kommer til å utføre uttalelsesblokk ellers utfører den ikke.

Hvordan fungerer ForEach Loop i PowerShell?

Anta at vi har 4 elementer, og vi ønsker å multiplisere hvert tall med fem. Anta at vi har $ a, $ b, $ c, $ d, og vi må multiplisere hver med 5, så hva vi vil gjøre, se nedenfor:

Eksempelkode:

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

Derfor fikk vi resultatet. Men det var bra til vi bare har 4 elementer å multiplisere med 5, antar at det vil være 10000 elementer som må multipliseres med 5, så ville det være en veldig slitsom oppgave å skrive for hver.

Så hva ville være en enkel løsning for det? Alt vi trenger å gjøre er at vi skal lage en matrise med alle elementene våre og passere matrisen ved å søke etter og multiplisere hvert element med 5. For å multiplisere tallet fem til hvert av elementene i matrisen, må vi gå gjennom rekken ved å bruke ForEach-kommandoen.

Her er hele skriptet:

Kode:

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

Produksjon:

Forklaring av koden ovenfor: I eksemplene ovenfor kan vi se, vi definerte hverandre variabel $ f og tilordnet alle de fire variablene til den, noe som gjør det til en matrise. Til slutt passerer vi den fra foreach-løkken som ga oss et resultat på 10, 20, 45, 25. På denne måten gjør vi livet vårt enklere, da det i det virkelige liv ville være rekorder som må endres, slik at vi ikke kan gjøre det en etter en, så vi bruker forhandsløkken til å håndtere disse. Bare løp en gang og endre så mange som posten du ønsker.

Eksempler i PowerShell ForEach Loop

Nedenfor er eksemplet i PowerShell ForEach Loop:

Eksempel 1

Loop gjennom en rekke strenger som inneholder studentenes navn og finn lengden på hver streng inne i matrisen.

Kode:

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

Utgang: Ranjan = 6, Ajay = 4, Vijay = 5, Sujit = 5, John = 4, Rakesh = 6, Hari = 4.

Eksempel 2

La meg gi deg et eksempel fra det virkelige liv. I eksamener har du sett 30 karakterer av 100 som tidligere bestått karakterer. Så antar at det er lakker med student, og det er en regel om noen student får 27 karakterer gir ham 30 karakterer, det betyr bare å legge til 3 karakterer ekstra i sine 27 karakterer. Så vi sløyfer gjennom en rekke elevens karakterer og legger til 3 karakterer hvis karakterene deres er 27 og lar dem bestå eksamen som 30 karakterer er bestått.

Kode:

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

Utgang: Det var to studenter, men det å sjekke manuelt inn lakhs av studenter for 27 merker var en litt kjedelig oppgave som vi løste.

Eksempel 3

Et annet eksempel, Finn alle tall mellom 1 og 100 som er helt delbare med 10.

Kode:

$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

Produksjon:

Konklusjon

For å konkludere, gir en foreach loop-uttalelse oss muligheten til å utføre en uttalelse eller gruppe uttalelser flere ganger sammen med å sjekke elementtilgjengeligheten i matrisen som betyr å kjøre den neste setningen hvis det er noen elementer. Foreach-løkker kjører bare hvis det er noen elementer i matrisen, noe som gjør det annerledes enn for sløyfe.

Anbefalte artikler

Dette er en guide til PowerShell ForEach Loop. Her diskuterer vi Hvordan fungerer ForEach Loop i PowerShell?, med forskjellige eksempler. Du kan også gå gjennom andre relaterte artikler for å lære mer -

  1. For Loop i R
  2. Hva er PowerShell
  3. Bruk av Powershell
  4. Slik installerer du PowerShell
  5. Array i PowerShell | eksempler

Kategori: