Вступ до циклів у PowerShell

Нам завжди потрібні петлі, якщо у нас є щось, що повторюється, У циклі ми запускаємо фрагмент коду або будь-який вислів на повторюваній основі. Один реальний приклад, припустимо, що в школі є 20000 учнів, і тому чомусь університет вирішив дати 5 балів додатково за іспити на кожного студента. Тож університет вирішив дати ці 5 балів кожному студенту, крім тих, відвідування яких менше 100 днів. Тепер ви тільки припускаєте, як це робитимуть співробітники, їм доведеться перевіряти бали та кількість відвідувачів кожного року. Але те ж саме за допомогою Any циклу це можна було зробити дуже легко, створивши масив студентів з їх оцінками та датами відвідування. Цим за допомогою циклу ми можемо заощадити додаткові зусилля. Давайте розберемося детально в циклі PowerShell.

Типи петель в PowerShell

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

Типи та їх приклади наведені нижче:

1. Поки

У той час як оператор приймає умову як аргумент, а виконання оператора в циклі в той час залежить від умови, це означає, що якщо умова є успішною, то вона буде виконувати оператор інакше ні.

Синтаксис:

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

Приклад:

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

Нижче показаний екран для виконання коду вище

2. Робіть поки

У той час як аналогічно різниці циклу, це лише те, що він буде виконаний принаймні один раз, це означає, що він виконає виконання блоку вперше і при блокуванні, якщо умова істинна. У наведеному нижче синтаксисі блок дій виконаний напевно.

  • Зробити : Цей блок виконується спочатку та один раз, коли починається виконання.
  • Поки : Виконання оператора 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

У блоці «до тих пір» ми можемо побачити, що виконання блоку do буде продовжуватися, поки умова «поки блок» не поверне позитивне значення.

Нижче наведено екран для виконання вищевказаного коду

4. Для

Для оператора запускається список операторів нульовий або більше разів на основі початкової установки. У нижченаведеному синтаксисі циклу for є три важливі розділи

  • Розділ ініціалізації : У цьому розділі він присвоїв початкове значення для будь-якої змінної, цей розділ працює вперше один раз.
  • Умова : У частинах умови ми пишемо свою умову, для якої буде працювати цикл, а це означає, що виконання блоку операторів завжди залежить від успіху частин умови, якщо умова є істинною, тоді блок операцій виконає інше.
  • Операція : У цьому блоці ми можемо збільшувати, зменшувати або змінювати значення ініціалізації змінної чи будь-яких речей відповідно до наших вимог.

Синтаксис:

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

Рекомендовані статті

Це керівництво щодо циклів у PowerShell. Тут ми обговорюємо типи циклів у PowerShell разом з їх перевагою. І ми виявили, що петлі - це дуже потужний інструмент, що менше зусиль використовує той самий код. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. Що таке сценарій оболонки?
  2. Функції рядка PowerShell
  3. Оператори PowerShell
  4. Команди PowerShell
  5. Приклади масиву в PowerShell

Категорія: