Introduktion til PowerShell ForEach Loop

Forstå ForEach Loop i PowerShell, ForEach og forLoop, der begge udfører de samme opgaver, begge er til at manipulere og udføre det samme stykke kode gentagne gange. Hvis du læser hvert element i en matrix, eller det kan være at læse hver linje i en fil, i en sådan type tilstand bruger vi foreach. For eksempel en matrix, der indeholder brugere, og vi vil tjekke brugeren med navnet "Vijay", så vi er nødt til at kontrollere hvert element, og for det har vi brug for en "foreach" -sløjfe, og når brugeren "Vijay" fundet loop afslutter. Hvis du var nødt til at se på byattributten for hver bruger, før du foretager en handling, kan du bruge ForEach Loop, og du kan udføre respektive arbejde på hver by. ForEch sparer lidt hukommelse og tid sammenlignet med for loop. I PowerShell 4.0 og nyere version giver ForEach-metoden endnu hurtigere ydelse.

Syntaks for ForEach Loop

Nedenfor er syntaks

foreach ($ in $)
(


)

I ovenstående syntaks kan vi se, hver gang et element fra Actualarray vælges, og det punkt vil gå til behandling inden i foreach-loopen. Hvis $ er tomt, eller hvis der ikke er noget i det, går det ikke til udførelse af udsagn. PowerShell opretter variablen $ automatisk, når Foreach-løkken kører. For eksempel viser Foreach-loopen i det følgende eksempel værdierne i $ student-arrayen. I for loop, var vi nødt til at skrive logik for at kontrollere, om arrayet er tomt eller ej, foreach-loopen udfører udsagnsblok, hvis der er noget element i arrayet.

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
)

Output- og kodeskærmbilleder:

Flowdiagram til PowerShell ForEach Loop

Nedenfor er flowdiagrammet for PowerShell ForEach Loop:

Forklaring af ovenstående flowdiagram: Ovenstående flowdiagram repræsenterer meget tydeligt flow. Når udførelsen først starter, vil den kontrollere for data (kontrollere, om elementet er der i arrayet), hvis det er tom sløjfe vil stoppe. Men hvis data er der, vil de fortsætte med udførelsen og udføre erklæring 1, erklæring 2, erklæring 3 indtil de sidste data af array. Når Array får tom loop, skal du stoppe udførelsen.

Produktion:

Forklaring af ovennævnte output: Ovenfor skærmen viser, hvis der var to attributter inde i matrixen, det blev udskrevet to gange, hej, men hvis vi lavede $ studerende som et tomt array, ingen hej udskrivning, betyder det, at i tilfælde af, at en attribut er tilgængelig inde i $ studerende array, end det vil udføre erklæringsblok, ellers udføres det ikke.

Hvordan fungerer ForEach Loop i PowerShell?

Antag, at vi har 4 elementer, og vi vil multiplicere hvert tal med fem. Antag, at vi har $ a, $ b, $ c, $ d, og vi skal multiplicere hver med 5, så hvad vi vil gøre, se nedenfor:

Prøvekode:

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

Derfor fik vi vores resultat. Men det var godt, indtil vi kun har 4 emner at formere sig med 5, antag at der vil være 10000 elementer, der skal multiplicere med 5, så ville det være en meget kedelig opgave at skrive for hver.

Så hvad ville være en nem løsning til det? Alt hvad vi behøver at gøre er at vi skal oprette en matrix med alle vores elementer og videregive matrixen med foreach og multiplicere hvert element med 5. For at multiplicere tallet fem til hvert af elementerne i arrayet, er vi nødt til at gå gennem arrayet ved at bruge kommandoen ForEach.

Her er hele scriptet:

Kode:

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

Produktion:

Forklaring af ovenstående kode: I de ovenstående eksempler, vi kan se, definerede vi hinanden en variabel $ f og tildelte alle 4 variabler til den, hvilket gør det til en matrix. Endelig passerer vi det fra foreach loop, som gav os et resultat på 10, 20, 45, 25. På denne måde gør vi vores liv lettere, da der i det virkelige liv ville være lakhs af rekorder, som er nødt til at ændre, så vi ikke kan gøre det en efter en, så vi bruger forhandlingssløjfen til at tackle disse. Kør bare en gang og rediger så mange som den ønskede post.

Eksempler i PowerShell ForEach Loop

Nedenfor er eksemplet i PowerShell ForEach Loop:

Eksempel 1

Gå igennem en række strenge, der indeholder elevernes navne, og find længden på hver streng inden i matrixen.

Kode:

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

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

Eksempel 2

Lad mig give dig et eksempel fra det virkelige liv. I undersøgelser har du set 30 karakterer ud af 100, der tidligere var bestået. Så formoder, at der er studerendes laks, og der er en regel, hvis en studerende får 27 karakterer, giver ham 30 karakterer, det betyder bare at tilføje 3 karakterer ekstra i hans 27 karakterer. Så vi går gennem en række studerendes karakterer og tilføjer 3 karakterer, hvis deres karakterer er 27 og lader dem bestå eksamener, da 30 karakterer er bestået.

Kode:

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

Output: Der var to studerende, men manuel kontrol af lakhs af studerende for 27 karakterer var en lidt kedelig opgave, som vi løste.

Eksempel 3

Et andet eksempel, Find alle numre mellem 1 og 100, der 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

Produktion:

Konklusion

Afslutningsvis giver en foreach loop-sætning os mulighed for at udføre en sætning eller gruppe af udsagn flere gange sammen med at kontrollere elementets tilgængelighed i den matrix, der betyder at køre den næste sætning, hvis der er nogen elementer. Foreach-løkker kører kun, hvis der er nogen elementer inde i matrixen, hvilket gør det anderledes end for loop.

Anbefalede artikler

Dette er en guide til PowerShell ForEach Loop. Her diskuterer vi Hvordan fungerer ForEach Loop i PowerShell?, med forskellige eksempler. Du kan også gennemgå vores andre relaterede artikler for at lære mere -

  1. For Loop i R
  2. Hvad er PowerShell
  3. Anvendelser af Powershell
  4. Sådan installeres PowerShell
  5. Array i PowerShell | eksempler

Kategori: