Оператор - это символ, который сообщает компилятору выполнить определенные математические или логические манипуляции.

Эрланг имеет следующий тип операторов -

  • Арифметические операторы
  • Операторы отношения
  • Логические операторы
  • Побитовые операторы

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

Язык Эрланга поддерживает нормальные арифметические операторы как любой язык. Ниже приведены операторы арифметики, доступные в Erlang.

оператор Описание пример
+ Добавление двух операндов 1 + 2 даст 3
- Вычитает второй операнд с первого 1 - 2 даст -1
* Умножение обоих операндов 2 * 2 даст 4
/ Разделение числителя на знаменатель 2/2 даст 1
rem Остаток деления первого числа на второй 3 rem 2 даст 1
div Компонент div выполняет деление и возвращает целочисленный компонент. 3 div 2 даст 1

Реляционные операторы

Реляционные операторы позволяют сравнивать объекты. Ниже приводятся реляционные операторы, доступные в Erlang.

 

оператор Описание пример
== Проверяет равенство между двумя объектами 2 = 2 даст правду
знак равно Проверяет разницу между двумя объектами 3 / = 2 даст true
< Проверяет, находится ли левый объект меньше, чем правый операнд. 2 <3 даст истину
= < Проверяет, находится ли левый объект меньше или равен правильному операнду. 2 = <3 даст истину
> Проверяет, больше ли левый объект, чем правый операнд. 3> 2 даст правду
> = Проверяет, больше ли левый объект больше или равен правильному операнду. 3> = 2 даст true

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

Эти логические операторы используются для оценки булевых выражений. Ниже приведены логические операторы, доступные в Erlang.

оператор Описание пример
or Это логический оператор «или» true или true даст true
and Это логический оператор «и» Истина и ложь будут давать ложные
not Это логический оператор «не» не ложь даст истину
xor Это логический эксклюзивный оператор «xor» True xor false даст true

Побитовые операторы

Erlang предоставляет четыре побитовых оператора. Ниже приведены побитовые операторы, доступные в Erlang.

band

Это побитовый оператор «и»
bor

Это побитовый оператор «или»

bxor

Это побитовый «xor» или «Exclusive» или оператор

bnot

Это оператор побитового отрицания

Ниже приводится таблица истинности, демонстрирующая эти операторы 

п Q p & q p | Q p ^ q
0 0 0 0 0
0 1 0 1 1
1 1 1 1 0
1 0 0 1 1

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

В следующей таблице показана операционная приоритетность операторов Erlang в порядке убывания приоритета вместе со своей ассоциативностью. Приоритет операторов и ассоциативность используются для определения порядка оценки в выражениях без скобок.

операторы Ассоциативность
:  
#  
BNOT, не  
/, *, Отд, бэр, группа, и Левый ассоциативный
+, -, бора, BXOR, или, исключающие Левый ассоциативный
==, / =, = <, <,> =,>