Introduksjon til Loops i PowerShell

Vi vil alltid trenge løkker hvis vi har noe repeterende arbeid. I loop kjører vi et stykke kode eller en setning på en repeterende basis. Et reelt eksempel, antar at på en skole er det 20000 studenter, og på grunn av en eller annen grunn bestemte universitetet seg for å gi 5 karakterer ekstra til eksamen til hver student. Så universitetet har bestemt seg for å gi disse 5 karakterene til hver student, bortsett fra de som har mindre enn 100 dager. Nå antar du bare hvordan ansatte vil gjøre det, de må sjekke hver elevs karakterer og deltagelse i året. Men samme ting ved hjelp av Enhver sløyfe, det kunne vært gjort veldig enkelt ved å lage en rekke elever med sine karakterer og fremmøtte datoer. Ved å bruke en sløyfe kan vi spare ekstra krefter. La oss forstå Loops i PowerShell i detalj.

Typer løkker i PowerShell

Det er mange måter å kjøre loop i PowerShell, men det avhenger alltid av dine krav og gjennomførbarhet til programmet, for eksempel hvis du vil utføre minst en gang for en hvilken som helst matrise enn vi bør bruke do-while-loop ellers er det for loop og for hver som er bra .

Typer og eksempler på dem er gitt nedenfor:

1. Mens

Mens uttalelse tar et vilkår som argument og utførelse av utsagn i en stundsløyfe avhenger av betingelsen, betyr det at hvis en betingelse er en suksess, vil den utføre uttalelse ellers ikke.

syntaks:

while(condition)
(
Statement 1
Statement 2
….
)

Eksempel:

$j = 0
while($j -lt 10)
(
Write-Output $j
$j++ )

Nedenfor er skjermbildet for utførelse av kode ovenfor

2. Gjør mens

Do while ligner på mens loop bare forskjell er at den vil utføres minst en gang, det betyr at den vil utføre gjøre en blokk for første gang og mens blokk hvis en tilstand er sann. I syntaksen nedenfor utføres blokk for første gang for sikker.

  • Gjør : Denne blokken kjøres først og en gang når utførelsen starter.
  • Mens : Utførelse av uttalelse 1 og uttalelse 2 avhenger helt av suksessen til tilstanden.

syntaks:

Do
(
Statement 1
Statement 2
….)while(condition)(
Statement 3
Statement 4
…..
)

Eksempel 1:

$j = 0
do
(
Write-Output $j // this block will execute first time
$j++
)while($j -lt 10)

Eksempel 2:

I dette eksemplet kjøres blokk for første gang selv tilstanden ikke var sann.

$j = 0
do
(
Write-Output $j
$j--
)while($j -gt 0)

Skjermbildet for begge programmene vises nedenfor

3. Gjør til

Gjør til er lite annerledes enn det mens du gjør, i gjør det til utførelsen vil fortsette til negativt resultat blir returnert av "til blokkering". To ting er viktige her.

  • Gjør : Denne blokken vil fortsette å utføres til blokkeringsbetingelsen mislykkes, noe som betyr til blokken gir en negativ verdi.
  • Inntil : Utfør setning 1 og setning 2 utfør til forholdene gir negative resultater.

syntaks:

do
(
Statement 1
Statement 2
….
)until(condition)

Eksempel:

$i = 0
do
(
Write-Output $i
$i++
)until($i -ge 5) //keep checking condition

I “gjør til” -blokk kan vi se utførelsen av do-blokken fortsette til tilstanden “inntil blokkering” gir en positiv verdi.

Nedenfor er skjermbildet for utførelse av kode ovenfor

4. For

For uttalelse kjører en uttalelsesliste null eller flere ganger basert på en innledende innstilling. I syntaksen nedenfor for for loop er det tre viktige seksjoner

  • Initialiseringsdel : I dette avsnittet tildelt den startverdien for en hvilken som helst variabel, denne delen kjøres en gang for første gang.
  • Tilstand : I betingelsesdeler skriver vi vår betingelse for hvilken sløyfe som skal kjøres, noe som betyr at utførelsen av uttalelsesblokk alltid avhenger av suksessen til betingelsesdeler hvis betingelsen er sann, vil uttalelsesblokk utføre ellers ikke.
  • Betjening : I denne blokken kan vi øke, redusere eller endre verdien for å initialisere en variabel eller andre ting i henhold til kravene våre.

syntaks:

for($initialisation; condition; operation)
(
Statement 1
Statement 2
….
)

Eksempel 1:

for($i = 0; $i -lt 3; $i++)
(
Write-Output $i
)

Utgangsskjerm med kode over

Mange ganger er en for loop ikke nok til å fullføre kravene våre, så vi kan bruke nestede til løkker. Vi bør prøve å unngå hekking av løkker, da tidskompleksiteten deres kan bli veldig høy hvis den ikke håndteres ordentlig. Nedenfor er et eksempel på nestet for sløyfe.

Eksempel 2:

for($j = 0; $j -lt 3; $j++)
(
$line = ''for($j = 0; $j -lt 3; $j++)
(
$line += $j.ToString() + $j.ToString() + ' '
)
Write-Output $line
)

Utgang: 00 11 22

5. ForEach

“Foreach” kjører erklæringsblokker for sammenhengende tid til det siste elementet i en matrise. Gode ​​ting for enhver uttalelse er at vi ikke trenger å skrive noen egen kode for å trekke ut en rekke elementer. Generelt er "foreach" en optimalisert versjon av "for" -sløyfe som gir indre array-element uten å skrive noen programmer. Her sjekker det bare for elementer i arrayet som vi kjører “foreach” -løkke på hvis noe er der, vil det utføre setning 1 og setning 2-blokker.

syntaks:

foreach($arrayItems)
(
Statement 1
Statement 2
…..
)

Eksempel:

$numbers = 23, 21, 22, 78
foreach($number in $numbers)
(
“$number is now =“ +$number
)

Under skjermen viser henrettelser ovenfor

Fordelene med Loops i PowerShell

Den største fordelen med å bruke en sløyfe er, det reduserer for mye manuelt arbeid, og det er veldig bra å kontrollere den store størrelsen på data for en lignende type aktivitet på den. La oss si at jeg vil at du skal trykke 1 til 1000000, og jeg sa at du kan legge til 1 til hvert nummer som kan deles med 2, som er et jevnt tall. Hvis du begynner å skrive ut en etter en og prøver å legge til 1 til hvert jevnstall, vil det ta for mye tid. Så en bedre og enkel måte du foreslo var bare å gjenta denne prosessen med å legge en til tallet til vi når 1000000. Den største fordelen vi får ved å sløyfe er at vi bruker samme kode, og vi trenger ikke å skrive samme kode for lakhs med data vil den automatisk utføre kode til slutten.

Nedenfor er noen få fordeler

  • Øk gjenbrukbarhet av kode, noe som gjør koden mindre
  • Den raskere beregningen for store data, noe som sparer mye manuelt arbeid
  • Kodenes overflødighet er mindre.

Et eksempel med fordelene

Spørsmål: skriv ut til 1000.

Without loop,
Write-Output 1;
Write-Output 2;
Write-Output 3;
Write-Output 4;
…so on
Till 100

With loop,
$x=1..100
foreach($y in $x)(
Write-Output $y;
)

Anbefalte artikler

Dette har vært en guide til Loops i PowerShell. Her diskuterer vi typer Loops i PowerShell sammen med deres fordel. Og vi oppdaget at løkker er et veldig kraftig verktøy med mindre anstrengelser for å bruke den samme koden. Du kan også se på følgende artikler for å lære mer -

  1. Hva er Shell Scripting?
  2. PowerShell-strengfunksjoner
  3. PowerShell-operatører
  4. PowerShell-kommandoer
  5. Eksempler på Array i PowerShell

Kategori: