Clojure - Операторы

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

Clojure имеет следующие типы операторов -

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

Note - В Clojure операторы и операнды работают следующим образом.

Синтаксис

(operator operand1 operand2 operandn)

Например,

пример

(+ 1 2)

В приведенном выше примере выполняется арифметическая операция с числами 1 и 2.

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

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

Показать примеры

Оператор Описание пример
+ Сложение двух операндов (+ 1 2) даст 3
- Вычитает второй операнд из первого (- 2 1) даст 1
* Умножение обоих операндов (* 2 2) даст 4
/ Деление числителя на знаменатель (float (/ 3 2)) даст 1,5
inc Инкрементальные операторы, используемые для увеличения значения операнда на 1 inc 5 даст 6
декабрь Инкрементальные операторы, используемые для уменьшения значения операнда на 1 5 дек даст 4
Максимум Возвращает самый большой из своих аргументов макс 1 2 3 вернет 3
мин Возвращает наименьший из своих аргументов мин 1 2 3 вернет 1
rem Остаток от деления первого числа на второе rem 3 2 даст 1

Операторы отношения

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

Показать примеры

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

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

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

Показать примеры

Оператор Описание пример
and Это логический оператор "и" (или правда правда) даст истину
or Это логический оператор "или" (и истина ложь) даст ложь
not Это логический оператор «не». (не ложь) даст истину

В следующем фрагменте кода показано, как можно использовать различные операторы.

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

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

Показать примеры

Sr. No. Оператор и описание
1

bit-and

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

2

bit-or

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

3

bit-xor

Это побитовый «xor» или исключающий оператор «или».

4

bit-not

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

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

п 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

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

Как и в случае с LISP в целом, не нужно беспокоиться о приоритете операторов. Это одно из преимуществ S-выражений и префиксной нотации. Все функции выполняются слева направо и наизнанку. Операторы в Clojure - это просто функции, и все они полностью заключены в скобки.