# Операторы
# Арифметические операторы
Оператор | Описание | Сложность |
---|---|---|
+ | Сложение | 1 для Int 1 для BigInt в Стандартной библиотеке версии 8 8 для BigInt в Стандартной библиотеке версии 7 и 6 1 для String 2 для ByteVector |
- | Вычитание | 1 для Int 1 для BigInt в Стандартной библиотеке версии 8 8 для BigInt в Стандартной библиотеке версии 7 и 6 |
* | Умножение | 1 для Int 1 для BigInt в Стандартной библиотеке версии 8 64 для BigInt в Стандартной библиотеке версии 7 и 6 |
/ | Деление | 1 для Int 1 для BigInt в Стандартной библиотеке версии 8 64 для BigInt в Стандартной библиотеке версии 7 и 6 |
% | Нахождение остатка от деления | 1 для Int 1 для BigInt в Стандартной библиотеке версии 8 64 для BigInt в Стандартной библиотеке версии 7 и 6 |
- | Унарный минус | 1 для Int 1 для BigInt в Стандартной библиотеке версии 8 8 для BigInt в Стандартной библиотеке версии 7 и 6 |
Обратите внимание:
Оператор / использует метод округления FLOOR, см. Переменные округления. Например, результат выражения
-1/100
равен-1
.Минус с пробелом после него — всегда бинарный оператор. Например, код
let b = 100 - 100
определяет переменную
b
и присваивает ей значение 0.Унарный минус располагается в начале строки или элемента, без пробела после него. Например, код
let b = 100 -100
является выражением, значение которого равно -100.
# Операторы сравнения
Оператор | Описание | Сложность |
---|---|---|
< | Меньше чем | 1 для Int 1 для BigInt в Стандартной библиотеке версии 8 8 для BigInt в Стандартной библиотеке версии 7 и 6 |
> | Больше чем | 1 для Int 1 для BigInt в Стандартной библиотеке версии 8 8 для BigInt в Стандартной библиотеке версии 7 и 6 |
<= | Меньше или равно | 1 для Int 1 для BigInt в Стандартной библиотеке версии 8 8 для BigInt в Стандартной библиотеке версии 7 и 6 |
>= | Больше или равно | 1 для Int 1 для BigInt в Стандартной библиотеке версии 8 8 для BigInt в Стандартной библиотеке версии 7 и 6 |
== | Равно | 1 |
!= | Не равно | 1 |
# Операторы локального определения
Оператор | Описание | Сложность |
---|---|---|
func | Определение функции | 0* |
let | Ленивое определение переменной | 0 |
strict | Нетерпеливое определение переменной | 1 или 2* |
* Вызов любой функции имеет сложность не менее 1. Подробнее об этом — в разделе Сложность.
** Подробнее в разделе Сложность.
# Операторы выбора
Оператор | Описание | Сложность |
---|---|---|
if ... then ... else | Ветвление | 0* |
match ... case | Сопоставление с шаблоном | Кол-во case * |
* Подробнее в разделе Сложность.
# Операторы списка
Оператор | Описание | Сложность |
---|---|---|
++ | Конкатенация | 4 |
:+ | Добавление элемента в конец списка | 1 |
:: | Добавление элемента в начало списка | 1 |
См. примеры в разделе List.
# Логические операторы
Оператор | Описание | Сложность |
---|---|---|
&& | Логическое И | 0 |
|| | Логическое ИЛИ | 0 |
! | Логическое отрицание | 1 |
Обратите внимание: логические операторы работают только со значениями типа Boolean
. Значения типа Int
не поддерживаются.