Въведение в Loops в PowerShell

Винаги ще ни трябват цикли, ако имаме нещо повтарящо се действие, В цикъл пускаме парче код или всяко изявление на повтаряща се основа. Един истински пример, да предположим, че в училище има 20000 студенти и поради някаква причина университетът реши да даде 5 оценки допълнително за изпити на всеки ученик. Така университетът реши да даде тези 5 оценки на всеки студент, с изключение на тези, чиято посещаемост е по-малка от 100 дни. Сега просто предполагате как персоналът ще се справи, те ще трябва да проверяват оценките на всеки ученик и посещаемостта на годината. Но Същото с помощта на Any цикъл можеше да се направи много лесно, като се създаде масив от студенти с техните оценки и дати на присъствие. По този начин използвайки цикъл ние успяваме да спестим допълнителни усилия. Нека разберем подробно Loops в PowerShell.

Видове бримки в PowerShell

Има много начини да стартирате цикъл в PowerShell, но това винаги зависи от вашите изисквания и осъществимост на програмата, например, ако искате да изпълните поне веднъж за всеки масив, отколкото би трябвало да използваме цикъл do-while, а други има за цикъл и за всеки, който е добър .

Типовете и техните примери са дадени по-долу:

1. Докато

Докато операторът приема условие като аргумент, а изпълнението на оператора в цикъл за известно време зависи от условието, това означава, че ако условието е успешно, то ще изпълни оператор, а не.

Синтаксис:

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

Пример:

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

По-долу е екранът за по-горе изпълнение на код

2. Правете докато

Направете, докато е подобно на разлика само при цикъл е, че ще се изпълни поне веднъж, това означава, че ще изпълни да направи блок за първи път и докато блокира, ако условието е вярно. В по-долу синтаксиса do блок, изпълнен за първи път със сигурност.

  • Направете : Този блок се изпълнява първо и веднъж, когато стартира изпълнението.
  • Докато : Изпълнението на оператор 1 и 2 напълно зависи от успеха на условието.

Синтаксис:

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

Пример №1:

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

Пример №2:

В този пример do блок ще се изпълни за първи път, дори условието не беше вярно.

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

Екранът за двете програми е показан по-долу

3. Правете до

Направете, докато не е малко по-различно от това, докато правите, докато изпълнението ще продължи, докато не върне отрицателен резултат от „до блокиране“. Тук нещата са основни.

  • Направете : Този блок ще продължи да се изпълнява, докато състоянието на блока не се провали, което означава, докато блокът върне отрицателна стойност.
  • До : Изпълнете блок оператор 1 и оператор 2, докато условията не върнат отрицателни резултати.

Синтаксис:

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

Пример:

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

В блока „направи до“ можем да видим, че изпълнението на блок „блок“ ще продължи, докато условието „докато блок“ не върне положителна стойност.

По-долу е екранът за по-горе изпълнение на код

4. За

За оператор изпълнява списък на отчети нула или повече пъти въз основа на първоначална настройка. В синтаксиса на цикъла по-долу има три важни секции

  • Секция за инициализация : В този раздел е задал начална стойност за всяка променлива, този раздел се изпълнява веднъж за първи път.
  • Условие : В части с условие ние пишем нашето условие за кой цикъл ще се изпълнява, което означава, че изпълнението на блока на оператора винаги зависи от успеха на частите за условие, ако условието е вярно, тогава блокът на операторите ще изпълни друго не.
  • Работа : В този блок можем да увеличим, намалим или променим стойността на инициализирането на променлива или всякакви неща според нашите изисквания.

Синтаксис:

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

Пример №1:

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

Изходен екран на горния код

Много пъти един цикъл не е достатъчен, за да изпълним нашите изисквания, така че можем да използваме вложени за контури. Трябва да се опитаме да избегнем влагането на бримки, тъй като тяхната сложност на времето може да достигне много високи, ако не се работи правилно. По-долу е даден пример за вложен цикъл.

Пример №2:

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

Изход: 00 11 22

5. ForEach

„Foreach“ изпълнява блокове на оператори последователно до последния елемент от масива. Хубавите неща за изявлението forEach е, че не е необходимо да пишем отделен код, за да извличаме масив от елементи. По принцип „foreach“ е оптимизирана версия на „for“ цикъл, която дава вътрешен елемент на масива, без да пише никакви програми. Тук той просто проверява за елемент вътре в масива, на който работим цикъл „foreach“, ако някой елемент е там, той ще изпълни блокове оператор 1 и оператор 2.

Синтаксис:

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

Пример:

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

По-долу на екрана се показват над екзекуциите

Предимства на контурите в PowerShell

Най-голямото предимство на използването на цикъл е, че намалява твърде много ръчната работа, а също така е много добре да се контролира големият размер на данни за подобен тип дейност върху него. Да речем, че искам да отпечатате 1 до 1000000 и ви казах, че можете да добавите 1 към всяко число, делящо се на 2, което е четно число. След това, ако започнете да печатате едно по едно и се опитате да добавите 1 към всяко четно число, това ще отнеме твърде много време. И така, по-добрият и лесен начин, който предложихте, е просто повтарянето на този процес на добавяне на един към числото, докато стигнем до 1000000. Най-голямата полза, която получаваме от цикъла е, че използваме повторно един и същ код, не изискваме да напишем същия код за lakhs от данни, той автоматично ще изпълни код до края.

По-долу са посочени няколко точки от предимствата

  • Увеличете повторното използване на кода, което прави код по-малък
  • По-бързото изчисление за големи данни, спестявайки много ръчен труд
  • Излишността на кода е по-малка.

Пример с неговите предимства

Въпрос: отпечатайте до 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;
)

Препоръчителни статии

Това е ръководство за Loops в PowerShell. Тук обсъждаме типове контури в PowerShell, заедно с тяхната полза. И открихме, че контурите са много мощен инструмент с по-малко усилия за използване на един и същ код. Може да разгледате и следните статии, за да научите повече -

  1. Какво е скрипт на Shell?
  2. Функции на низовете PowerShell
  3. Оператори на PowerShell
  4. PowerShell Команди
  5. Примери за масив в PowerShell

Категория: