Въведение в PowerShell ForEach Loop
Разбирането на ForEach Loop в PowerShell, ForEach и forLoop, изпълняващи едни и същи задачи, и двете са за манипулиране и изпълнение на едно и също парче код на повтаряща се основа. Ако четете всеки елемент от масив или може да четете всеки ред от файл, в такъв тип състояние използваме foreach. Например масив, съдържащ потребители, и ние искаме да проверим потребителя с името „Vijay“, така че трябва да проверим всеки елемент и за това ни трябва цикъл „foreach“ и след като потребителят „Vijay“ намери контура, ще излезе. Ако трябва да разгледате атрибута на града на всеки потребител, преди да предприемете действие, можете да използвате ForEach Loop и можете да извършите съответната работа за всеки град.ForEach спестява малко памет и време в сравнение с loop. В PowerShell 4.0 и по-нова версия методът ForEach осигурява още по-бърза производителност.
Синтаксис на LoEach Loop
По-долу е синтаксисът
foreach ($ in $)
(
)
В горния синтаксис можем да видим всеки път, когато ще бъде избран един елемент от Actualarray и този елемент ще отиде за обработка във вътрешния цикъл на foreach. Ако $ е празен или няма елемент вътре в него, той няма да работи за изпълнение на оператори. PowerShell създава променливата $ автоматично, когато цикълът Foreach работи. Например, цикълът Foreach в следващия пример показва стойностите в масива $ students. In for loop, ние трябваше да напишем логика, за да проверим дали масивът е празен или не, цикълът foreach изпълнява блок инструкции, ако има някакъв елемент вътре в масива.
Код:
$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
)
Екрани на изхода и кода:
Диаграма на потока за PowerShell ForEach Loop
По-долу е диаграмата на потока за PowerShell ForEach Loop:
Обяснение на горната диаграма на потока: Горната диаграма на потока много ясно представя поток, След като изпълнението започне първо, той ще провери за данни (проверява дали елементът е там в масива) дали празният цикъл ще спре. Но ако Data е там, той ще продължи изпълнението и да изпълни оператор 1, оператор 2, оператор 3 до последните данни на масив. След като Array получи празно изпълнение за спиране.
изход:
Обяснение на горния изход: Над екрана се показва, ако имаше два атрибута вътре в масива, той се отпечатва два пъти, здравей, но ако направихме $ студенти като празен масив, няма здрав печат, това означава, че в който и да е атрибут е наличен вътре $ ученик масив, отколкото ще изпълни блок оператор, друго не изпълнява.
Как работи ForEach Loop в PowerShell?
Да предположим, че имаме 4 елемента и искаме да умножим всяко число с пет. Да предположим, че имаме $ a, $ b, $ c, $ d и трябва да умножим всеки по 5, така че какво ще направим, погледнете по-долу пример:
Примерен код:
$a=2, $b=4, $c=9, $d=5
$a * 5 =10, $b * $5=20, $c * 5=45, $d*5=25
Следователно получихме резултата си. Но беше добре, докато имаме само 4 елемента, които да умножим с 5, да предположим, че ще има 10000 елемента, които трябва да се умножат с 5, тогава би било много досадна задача да напишете за всеки.
И така, какво би било лесно решение за него? Всичко, което трябва да направим, е да създадем масив с всички наши елементи и да предадем масива чрез foreach и да умножим всеки елемент с 5. За да умножим числото пет на всеки от елементите в масива, трябва да преминем през масива с помощта на командата ForEach.
Ето целия скрипт:
Код:
$a = 2, $b = 4, $c = 9, $d =5
$f = $a, $b, $c, $d
Foreach ($i in $f)
(
$i * 5
)
изход:
Обяснение на горния код: В горните примери, които можем да видим, дефинирахме една друга променлива $ f и й присвоихме всички 4 променливи, което я прави масив. Накрая го предаваме от предния цикъл, който ни даде резултат 10, 20, 45, 25. По този начин улесняваме живота си, тъй като в реалния живот ще има записи на записи, които трябва да се променят, така че не можем да го правим един по един, така че използваме цикъла foreach за справяне с тях. Просто стартирайте веднъж и модифицирайте колкото искате записа.
Примери в PowerShell ForEach Loop
По-долу е примерът в PowerShell ForEach Loop:
Пример №1
Прегледайте масив от низове, съдържащи имена на ученици и намерете дължината на всеки низ в масива.
Код:
$students = @("Ranjan", "Ajay", ”Vijay", "Sujit", "John", "Rakesh", ”Hari”)
foreach ($student in $students) (
"$student = " + $student.length
)
Изход: Ranjan = 6, Ajay = 4, Vijay = 5, Sujit = 5, John = 4, Rakesh = 6, Hari = 4.
Пример №2
Позволете ми да ви дам един пример от реалния живот. При изпитите сте виждали 30 от 100, използвани за пропуск. Така че предположим, че има студентски лакове и има едно правило, ако някой студент получи 27 марки, дайте му 30 марки, това означава, че просто добавете 3 оценки допълнително в своите 27 марки. Така че ние преглеждаме масив от оценки на учениците и добавяме 3 оценки, ако оценките им са 27, и ги оставяме да издържат на изпитите, тъй като 30 точки са пропуск.
Код:
$marks (34, 39, 49, 12, 27, 80, 23, 88, 27)
foreach ($mark in $marks) (
if ($mark -eq 27) ( $mark+3 ) else( $num)
)
Резултат: Имаше двама ученици, но проверката ръчно в lakhs на студенти за 27 марки беше малко досадна задача, която решихме.
Пример №3
Един друг пример, Намерете всички числа между 1 до 100, които са напълно делими на 10.
Код:
$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
изход:
заключение
В заключение, оператор на цикъла на foreach ни позволява да изпълним оператор или група от оператори многократно, заедно с проверка на наличността на елемента в масива, което означава да стартираме следващия оператор, ако има елементи. Циклите на Foreach се изпълняват само ако има елементи в масива, което го прави различен, отколкото за цикъл.
Препоръчителни статии
Това е ръководство за PowerShell ForEach Loop. Тук обсъждаме как работи ForEach Loop в PowerShell?, с различни примери. Можете също да прегледате и другите ни свързани статии, за да научите повече -
- За контур в R
- Какво е PowerShell
- Използва се от Powershell
- Как да инсталирате PowerShell
- Масив в PowerShell | Примери