Курс по Raku / Основи / Основи на управлението на потока / Условни проверки

Теренарен оператор

Тернарният оператор в Raku е двукомпонентна конструкция ??!!. Булев тест е последван от две изрази, един от които се изпълнява в зависимост от резултата на теста.

my $shines = 'Sun';
my $day-time = $shines eq 'Sun' ?? 'day' !! 'night';
say $day-time;

С текущата стойност на променливата $shines, тази програма отпечатва day. Ако я промените на Moon, резултатът ще бъде night.

Възможно е да се свързват тернарни изрази. Просто се уверете, че не става твърде сложно.

my $hours = 20;
my $day-time =
    $hours <= 6 ?? 'Night' !!
    $hours <= 12 ?? 'Morning' !! 
    $hours <= 18 ?? 'Afternoon' !! 'Evening';
say $day-time;

Тук, в зависимост от стойността в $hours, ще бъде отчетена различна част от деня.

Практика

Направете 1 тест върху съдържанието на тази тема.

Навигация в курса

Тест 2 — условието в if*   |   Тест — Теренарен оператор


💪 Или преминете направо към упражненията в този раздел.