Курс Raku / Основи / Основи порядку виконання / Цикли

while та until як модифікатори операторів

Обидва while і until можуть використовуватися у формі модифікаторів виразів (аналогічно до if і unless).

Розглянемо приклад, що імітує модульне ділення:

my $x = 10;
$x -= 3 while $x > 2;
say $x; # 1

Тут -= є оператором, який поєднує віднімання та присвоєння. У цьому випадку $x -= 3 еквівалентно $x = $x - 3.

Модифікатор while дозволяє повторювати вираз $x -= 3, поки умова $x > 2 залишається True. Як тільки вона стає False, цикл зупиняється.

Зверніть увагу, що якщо умова спочатку є False, вираз взагалі не виконується.

Ту саму програму можна переписати з використанням until. Для цього умову потрібно інвертувати:

my $x = 10;
$x -= 3 until $x <= 2;
say $x; # 1

Навігація курсом

Тест — Цикл repeat   |   Триопераційний цикл loop


💪 Або перейдіть одразу до вправ цього розділу.