Перейти до змісту

Оператори

Оператори в Барвінку - це символи або команди, які використовуються для виконання різних операцій з об'єктами.

Оператори "на місці"

Оператори "на місці" - це синтаксичний цукор, для спрощення написання виразів.

а = а + 1
а += 1    ! Вираз вище, але з використанням оператора "на місці"

Таблиця операторів

Пріоритет Назва Вигляд в коді Оператор на місці
1 Унарний -
Унарний +
2 Множення а * б а *= б
Ділення а / б а /= б
Остача від ділення а % б а %= б
Цілочисельне ділення а // б а //= б
3 Додавання а + б а += б
Віднімання а - б а -= б
4 Менше а менше б
Менше дорівнює а менше рівно б
Більше а більше б
Більше дорівнює а більше рівно б
Є а є б
Не є а не є б
Рівно а рівно б
Нерівно а нерівно б
5 Заперечення не а
6 Та а та б
7 Або а або б

Оператор "є"

Оператор є використовується для перевірки ідентичності об'єктів, а не їх значення.

1 випадок
а = Список(1, 2, 3)
б = а
друкр(а є б) ! істина
2 випадок
а = Список(1, 2, 3)
б = Список(1, 2, 3)
друкр(а є б) ! хиба

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

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

Оператори та і або

Ці оператори є лінивими, наприклад:

функція1() або функція2()

Якщо в коді вище перша функція поверне значення, яке буде істинним, то друга функція не буде виконана.

Треба зауважити, що ці оператори повертають не логічний тип даних, а останній оцінений операнд.

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

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

Ось приклад як цю властивість можна використати на практиці:

імя = зчитати("Назвіться: ") або "анонім"
друкр("привіт,", імя)

Якщо користувач не введе жодних даних у терміналі, то функція поверне пустий рядок, який при перетворенні в логічне значення буде рівним хибі. Крім того, якщо перший операнд для оператора "або" буде хибою, то повернеться другий операнд, в даному випадку - "анонім", і у термінал буде виведено "Привіт, анонім".