Bevezetés a PowerShell ForEach Loop-hez

A ForEach Loop megértése a PowerShellben, a ForEach és a ForLoop egyaránt ugyanazt a feladatot végzi, mindkettő ugyanazon kóddarab manipulálására és végrehajtására szolgál ismétlődő alapon. Ha egy tömb minden elemét elolvassa, vagy lehet, hogy egy fájl minden sorát elolvassa, akkor az ilyen típusú feltételekben foreach-t használunk. Például egy tömb, amely a felhasználókat tartalmazza, és azt szeretnénk, hogy a felhasználót “Vijay” névvel ellenőrizzük, tehát ellenőriznünk kell minden elemet, és ehhez szükségünk van egy “foreach” hurokra, és amint a “Vijay” felhasználót talált hurok kilép. Ha egy művelet elvégzése előtt meg kellett vizsgálnia az egyes felhasználók városi tulajdonságait, használhatja a ForEach Loop funkciót, és az egyes városokon elvégezheti a megfelelő munkákat. A ForEach kevés memóriát és időt takarít meg a hurokhoz képest. A PowerShell 4.0 és újabb verziókban a ForEach módszer még gyorsabb teljesítményt nyújt.

A ForEach Loop szintaxisa

Az alábbiakban a szintaxis található

foreach ($ in $)
(


)

A fenti szintaxisban láthatjuk, hogy minden alkalommal egy elemet kiválasztunk az Actualarray-ből, és az elem feldolgozásra kerül az foreach hurkon belül. Ha a $ üres, vagy nincs benne elem, akkor az nem az utasítások végrehajtására szolgál. A PowerShell automatikusan létrehozza a $ változót, amikor a Foreach hurok fut. Például a Foreach hurok a következő példában megjeleníti az értékeket a $ students tömbben. A hurokhoz logikát kellett írni, hogy megvizsgáljuk, hogy a tömb üres-e vagy sem. Az foreach hurok utasítások blokkot hajt végre, ha van olyan elem a tömbben.

Kód:

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

Kimeneti és kód képernyők:

A PowerShell ForEach Loop folyamatábrája

Az alábbiakban a PowerShell ForEach Loop folyamatábrája látható:

A fenti folyamatdiagram magyarázata: A fenti folyamatábra nagyon egyértelműen reprezentálja az áramlást. Ha a végrehajtás először megkezdődik, akkor ellenőrzi az adatokat (ellenőrzi, hogy az elem ott van-e a tömbben), ha az üres hurok megáll-e. De ha az adatok ott vannak, akkor folytatja a végrehajtást, és végrehajtja az 1., a 2. és a 3. állítást, egészen a tömb utolsó adatainak. Miután a tömb megkapja az üres hurok leállítását.

Kimenet:

A fenti output magyarázata: A képernyő felső részén látható, hogy ha a tömb belsejében két attribútum volt, akkor kétszer is kinyomtatta, helló, de ha a $ diákoknak üres tömbként nem hello nyomtatottunk, akkor ez azt jelenti, hogy bármilyen attribútum elérhető a $ -on belül a diákok tömbje, mint az utasításblokkot fogja végrehajtani, egyébként nem végrehajtja.

Hogyan működik a ForEach Loop a PowerShellben?

Tegyük fel, hogy 4 elemünk van, és mindegyik számot meg akarjuk szorozni ötnel. Tegyük fel, hogy van $ a, $ b, $ c, $ d, és meg kell szoroznunk mindegyiket 5-szel, tehát mit fogunk csinálni, lásd alább a példában:

Minta kód:

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

Ezért megkaptuk az eredményünket. De jó volt, amíg csak 4 elem van szorozva az 5-öl, tegyük fel, hogy lesz 10000 elem, amelyet meg kell szorozni az 5-szel, tehát nagyon unalmas feladat lenne mindegyiket írni.

Szóval mi lenne egy egyszerű megoldás erre? Csak annyit kell tennünk, hogy hozzunk létre egy tömböt az összes elemmel, és átadjuk a tömböt előrejelzéssel, és minden elemet szorozzuk meg az 5. Az ötödik szám szorzásához a tömb minden eleméhez át kell lépnünk a tömbön. a ForEach paranccsal.

Itt van a teljes szkript:

Kód:

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

Kimenet:

A fenti kód magyarázata: A fenti példákban meghatározzuk egymás $ f változóját, és mind a 4 változót hozzárendeljük, ami tömbből áll. Végül átjutjuk azt a foreach hurokból, amely 10, 20, 45, 25 eredményt adott nekünk. Ily módon megkönnyítjük az életünket, mivel a valós életben olyan rekordok lennének, amelyeket módosítani kell, tehát nem tehetjük meg egyenként, tehát az foreach hurkot használjuk ezek kezelésére. Csak futtassa egyszer, és módosítsa a kívánt rekordot.

Példák a PowerShell ForEach Loop-ban

Az alábbiakban látható a PowerShell ForEach Loop példa:

1. példa

Húzza át a hallgatók nevét tartalmazó karakterlánc-sorozatot, és keresse meg a tömbben lévő egyes karakterláncok hosszát.

Kód:

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

Teljesítmény: Ranjan = 6, Ajay = 4, Vijay = 5, Sujit = 5, John = 4, Rakesh = 6, Hari = 4.

2. példa

Hadd mondjak egy valós példát: A vizsgák során 100-ból 30 pontot látott, amelyek korábban sikeresnek bizonyultak. Tehát tegyük fel, hogy hiányzik a hallgató, és van egy szabály, ha bármelyik hallgató 27 pontot kap, akkor 30 pontot kap, azaz csak további 3 pontot kell hozzáadnia a 27 pontjához. Tehát végigkísérjük a hallgatói pontok tömbjét, és adjunk hozzá 3 pontot, ha a jelölésük 27, és hagyjuk átmenni a vizsgán, mivel 30 pont sikeres.

Kód:

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

Teljesítés: Két diák volt, de a lakh-okban a 27 pontérti kézi ellenőrzés egy kicsit unalmas feladat, amelyet megoldottunk.

3. példa

Egy másik példa: Keresse meg az 1 és 100 közötti összes számot, amelyek tízre oszthatók.

Kód:

$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

Kimenet:

Következtetés

Összegezve: az foreach hurok utasítás lehetővé teszi számunkra, hogy egy utasításot vagy utasításcsoportot többször végrehajtsuk, és ellenőrizzük az elem rendelkezésre állását a tömbben, vagyis a következő utasítás futtatásához, ha vannak elemek. Az Foreach hurkok csak akkor futnak, ha a tömb belsejében vannak elemek, amelyek különbözik a hurokhoz képest.

Ajánlott cikkek

Ez egy útmutató a PowerShell ForEach Loop-hez. Itt tárgyaljuk, hogyan működik a ForEach Loop a PowerShellben?, különféle példákkal. Megnézheti más kapcsolódó cikkeket is, ha többet szeretne megtudni -

  1. A hurok számára R-ben
  2. Mi a PowerShell?
  3. A Powershell felhasználása
  4. A PowerShell telepítése
  5. Tömb a PowerShell-ben Példák

Kategória: