Найти в Дзене

Операции и приоритет операций в Lazarus

Решил немного добавить на канал скучных справочных материалов ))) Без всякой лирики - просто приведу список операторов и приоритет операций для FreePascal, а, значит, и для Lazarus.

Операторы сравнения

Бинарные арифметические операторы

-2

Унарные арифметические операторы

-3

Логические операторы

-4

Операторы истинности

-5

Строковые операторы

-6

Операторы для работы с множествами

-7

Операторы классов

-8

Операторы указателей

-9

Кроме этого ещё имеются оператор присваивания (:=) и оператор адреса (@). Оператор адреса возвращает адрес переменной, процедуры или функции. Если директива компилятора установлена {$ T-}, возвращаемое значение является нетипизированным указателем. Если параметр компилятора равен {$ T+}, возвращаемое значение является типизированным указателем. Значение по умолчанию для компилятора равно {$ T-}.

Приоритет операций

-10

Ну и для самых начинающих напомню, что если в выражении встречается несколько операторов, то очерёдность их выполнения будет зависеть от приоритета, а в случае равного приоритета выполняется слева направо. Например:

x := 2 + 3 * 4 * 2 + 3;

Здесь сначала умножаем 3 на 4, потом результат умножаем на 2, потом к 2 прибавляем результат умножения, и в конце к результату прибавляем три. Получится 29. Повысить приоритет операции можно с помощью скобок:

x := (2 + 3) * 4 * 2 + 3;

Здесь сначала мы складываем 2 и 3, а потом уже всё остальное. Про приоритет операторов в PHP можно почитать здесь.

На этом всё. Подписывайтесь на канал, чтобы ничего не пропустить.