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 - это просто функции, и все они полностью заключены в скобки.