Курс Raku / Розширені / Оператори
Типи операторів Raku
Ви вже користувалися багатьма операторами — +,
~, ++ тощо. У Raku оператори класифікують за
тим, де вони стоять відносно своїх операндів. Знання цих
категорій стане в пригоді згодом, коли ви визначатимете власні
оператори.
prefix
Префіксний оператор стоїть перед єдиним операндом:
my $x = 5;
say -$x; # -5
say ?$x; # TrueТут - змінює знак числа, а ? перетворює
значення на його булевий відповідник.
infix
Інфіксний оператор стоїть між двома операндами. Більшість знайомих арифметичних і рядкових операторів є інфіксними:
say 3 + 4; # 7
say 'a' ~ 'b'; # abІнфіксний оператор не завжди є розділовим знаком — ним може бути й
слово. Оператор gcd, з яким ви познайомилися в темі про цілі числа, наприклад, є інфіксним
оператором, записаним як ім’я між двома операндами:
say 12 gcd 18; # 6postfix
Постфіксний оператор стоїть після єдиного операнда:
my $x = 5;
$x++;
say $x; # 6circumfix та
postcircumfix
Циркумфіксний оператор оточує свій операнд. Квадратні дужки, що будують масив, є циркумфіксним оператором:
my @a = [1, 2, 3];Постциркумфіксний оператор оточує щось, але стоїть після терма.
Індексування є постциркумфіксним оператором — це [1] після
@a:
my @a = 10, 20, 30;
say @a[1]; # 20Ці назви — prefix, infix,
postfix, circumfix та
postcircumfix — є тими самими словами, які Raku
використовує, коли ви оголошуєте новий
оператор, як побачите згодом.
Практика
Виконайте 3 тести за змістом цієї теми.
Вправи
У цьому розділі 3 вправи. Перш ніж братися до практики, вивчіть усі теми розділу.
Навігація курсом
← Оператори | Збільшити лічильник →