Uvod u PowerShell ForEach petlju

Razumijevanje ForEach petlje u PowerShellu, ForEach i forLoop koja obavljaju iste zadatke, obojica su za manipuliranje i izvršavanje istog dijela koda ponavljajući. Ako čitate svaki element matrice ili možda čita svaki redak datoteke, u takvom se stanju koristi foreach. Na primjer, niz koji sadrži korisnike i mi želimo provjeriti korisnika imenom "Vijay", tako da moramo provjeriti svaki element i za to nam treba petlja "foreach" i kad korisnik "Vijay" pronađe petlju će izaći. Ako ste trebali prije pogledati atribut grada svakog korisnika prije nego što poduzmete akciju, mogli biste koristiti ForEach petlju i možete obaviti odgovarajuće radove na svakom gradu.ForEach štedi malo memorije i vremena u odnosu na petlju. U PowerShellu 4.0 i novijoj verziji, ForEach metoda pruža još brže performanse.

Sintaksa petlje ForEach

Ispod je sintaksa

foreach ($ in $)
(


)

U gornjoj sintaksi možemo vidjeti svaki put kad se odabere jedna stavka iz Actualarray-a i ta stavka ide na obradu unutar petlje foreach. Ako je $ prazno ili nema stavke u sebi, neće izvršavati izjave. PowerShell automatski kreira varijablu $ kada se pokreće Foreach petlja. Na primjer, petlja Foreach u sljedećem primjeru prikazuje vrijednosti u nizu $ students. U petlji je potrebno napisati logiku da bismo provjerili je li polje prazno ili ne, petlja foreach izvršava blok izjava ako postoji neki element unutar matrice.

Kodirati:

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

Izlazni i kodni zasloni:

Dijagram toka za PowerShell ForEach petlju

Ispod je dijagram toka za PowerShell ForEach petlju:

Objašnjenje gornjeg dijagrama toka: Gornji dijagram toka vrlo jasno predstavlja protok, Jednom kada izvršenje započne prvo, provjerit će podatke (provjerava li se element nalazi u nizu) je li prazna petlja zaustavljena. Ali ako je podataka tamo, nastavit će se s izvršavanjem i izvršavanjem izjave 1, izjave 2, izjave 3 do posljednjeg podatka niza. Jednom Array dobiti izvršenje zaustavljanja prazne petlje.

Izlaz:

Objašnjenje gornjeg izlaza: Iznad zaslona se vidi, ako su bila dva atributa unutar matrice, ispisano je dva puta, zdravo, ali ako smo $ studenti napravili kao prazan niz, nema hello ispisa, to znači da je u slučaju bilo kojeg atributa dostupan u $ učešće niz nego što će izvršiti blok izjava, a drugo to ne izvršava.

Kako ForEach petlja funkcionira u PowerShellu?

Pretpostavimo da imamo 4 elementa i želimo svaki broj pomnožiti s pet. Pretpostavimo da imamo $ a, $ b, $ c, $ d i da moramo pomnožiti svaki sa 5, pa što ćemo učiniti, pogledajte primjer ispod:

Uzorak Kod:

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

Otuda smo dobili svoj rezultat. Ali bilo je dobro dok ne budemo imali samo 4 predmeta za množenje sa 5, pretpostavimo da će biti 10000 elemenata koji treba pomnožiti sa 5, a bilo bi vrlo mučan zadatak napisati za svaki.

Pa što bi bilo lako rješenje za to? Sve što trebamo učiniti je stvoriti niz sa svim našim elementima i proslijediti niz prema proširivanju i svaki element pomnožiti s 5. Da bismo pomnožili broj pet na svaki od elemenata u nizu, moramo proći kroz niz pomoću naredbe ForEach.

Evo čitave skripte:

Kodirati:

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

Izlaz:

Objašnjenje gornjeg koda: U gornjim primjerima koje smo vidjeli definirali smo jednu drugu varijablu $ f i dodijelili joj sve 4 varijable, što je čini nizom. Na kraju, to prenosimo iz foreach petlje koja nam je dala rezultat 10, 20, 45, 25. Na taj način olakšavamo svoj život, jer u stvarnom životu postojalo bi snimke koje je potrebno izmijeniti, tako da to ne možemo raditi jedan po jedan, tako da se koristimo petljom foreach da bismo se riješili ovih problema. Samo jednom pokrenite i izmijenite onoliko koliko želite da se zapis dogodi.

Primjeri u PowerShell ForEach petlji

Ispod je primjer u PowerShell ForEach petlji:

Primjer 1

Pregledajte niz stringova koji sadrže imena učenika i pronađite duljinu svakog niza unutar matrice.

Kodirati:

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

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

Primjer 2

Dopustite mi da vam dam jedan primjer iz stvarnog života: Na ispitima ste vidjeli 30 maraka od 100 koji su nekad bili prolazni. Pretpostavimo da postoje studentski učenici i da postoji jedno pravilo, ako bilo koji student dobije 27 maraka, dodijelite mu 30 maraka, to znači da samo u njega dodate 3 marke više. Tako ćemo provući niz studentskih bodova i dodati 3 ocjene ako su njihove ocjene 27 i pustiti ih da polažu ispite jer 30 maraka prolaze ocjene.

Kodirati:

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

Izlaz: Bila su dva učenika, ali provjeravati ručno u studentima za 27 maraka bio je pomalo mučan zadatak koji smo riješili.

Primjer 3

Još jedan primjer, pronađite sve brojeve između 1 i 100 koji su potpuno djeljivi s 10.

Kodirati:

$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

Izlaz:

Zaključak

Za zaključak, izjava foreach petlje omogućava nam da izvedemo izjavu ili grupu izjava više puta zajedno s provjerom dostupnosti elementa u nizu što znači da pokrećemo sljedeću izjavu ako ima elemenata. Petlje za predradnju rade samo ako postoje elementi unutar polja, što ga čini drugačijim od petlje.

Preporučeni članci

Ovo je vodič za PowerShell ForEach petlju. Ovdje smo raspravljali o tome kako radi ForEach petlja u PowerShellu?, s različitim primjerima. Možete i pregledati naše druge povezane članke da biste saznali više -

  1. Za petlju u R
  2. Što je PowerShell
  3. Koristi Powershell
  4. Kako instalirati PowerShell
  5. Niz u PowerShellu | Primjeri

Kategorija: